首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Selenium Webdriver有可能达到100%的通过率吗?

使用Selenium Webdriver有可能达到100%的通过率吗?
EN

Stack Overflow用户
提问于 2015-04-14 15:43:29
回答 2查看 612关注 0票数 0

我正在使用Selneium Web driver + Java + firefox,我被selenium的行为迷住了。

我目前在CI中运行300+测试,测试执行需要近5个小时才能完成。

我在这里担心的是,每次我看到测试结果时,300个测试中会有大约5-6个不是应用程序失败的失败。

我看到的这5-6个故障并不一致,也就是说,我每次都没有观察到明确的5个故障。

在每次运行中,我看到了不同的失败集。

是的,10次中有3次我看到了100%的通过率。

我遇到的异常主要是StaleElementReference异常和NoSuchElement异常。

是的,我处理了AJAX调用,并且有必要的显式等待和隐式等待。

这就是selenium的行为方式吗?我们不能一直保持100%的通过率吗?

我知道这个问题太笼统了。但我真的很沮丧,我想知道我是唯一一个面临这个问题的人,还是还有其他人。

EN

回答 2

Stack Overflow用户

发布于 2015-04-14 17:04:19

是的,如果你的测试写得很好,你可以在Selenium测试上有100%的通过率。

你所做的只是一些不可靠的测试。请参阅http://martinfowler.com/articles/nonDeterminism.html

票数 2
EN

Stack Overflow用户

发布于 2015-04-14 18:36:47

是的,你可以有100%的通过率,但这真的取决于你的测试环境设置。您必须通过等待等方式同步所有元素,但在某些情况下,webdriver和web浏览器之间的通信无论如何都会失败(但在新版本中有改进)。因此,基本上使用webdriver时,间歇性测试更为常见。因为你没有写更多的细节,所以有一些通用的选项:

在进行了几次测试之后(例如,在每次测试class)

  • remember测试失败后,使用测试environment

  • use屏幕截图中的某种重新运行机制来映射测试/浏览器状态,如果某些内容失败,您将看到它,您可以调查可能的(同步)问题

),然后重新启动web浏览器

这些选项更像是变通方法,而不是正确的解决方案。对于webdriver来说,同步测试状态和web浏览器状态是很重要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29621775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档