Pri*_*nce 4 selenium automated-tests selenium-webdriver
运行Selenium WebDriver测试用例时,我想要一致的输出.
我在java类中有超过30个测试用例.当我运行它时,我会遇到不同方法的错误.例如.有时它在第12个测试用例中失败,有时在第8个测试用例失败,有时在第2个测试用法失败,有些时候都运行没有任何错误.我确定所有测试用例都是正确的.
它测试速度非常快.我认为这将是问题所在.所以我补充道
new FireFoxDriver().manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)
即使它不一致
任何人都可以尽快帮助我吗?
Jim*_*mes 11
我不同意Arran关于UI测试非常不可靠的说法.绝对不一定.学习两个主要问题的可靠方法通常会解决很多问题.
间歇性故障通常是由动态内容周围的同步问题引起的,或者定位器不够灵活,无法处理不断变化的情况.
例如,您从网格/表中提取行,并且您的定位器是基于位置的.(第3行,第5个单元格)排序顺序在一次运行中不同,因此测试会中断.某些服务器端技术(如ASP.NET)生成的动态ID可能会有所不同,因此这是另一个问题.
我鼓励您仔细评估您的定位器/选择器,看看它们是否健壮.避免使用硬连线的xpath,尽可能使用ID - 但要确保它们不是动态ID,如果它们是适当的,则应对它们进行适当处理.
你提到过你曾尝试使用隐式等待.确保您了解隐式和显式等待之间的区别.(在Selenium文档中阅读更多内容.)您可能需要明确等待脚本中后续步骤的确切条件.除非在特殊情况下,否则请勿在测试中重复使用Thread.Sleep或类似的手动延迟.WebDriver的等待是一种更好的方法.
| 归档时间: |
|
| 查看次数: |
3996 次 |
| 最近记录: |