我正在使用Selneium Web driver + Java + firefox,我被selenium的行为迷住了。
我目前在CI中运行300+测试,测试执行需要近5个小时才能完成。
我在这里担心的是,每次我看到测试结果时,300个测试中会有大约5-6个不是应用程序失败的失败。
我看到的这5-6个故障并不一致,也就是说,我每次都没有观察到明确的5个故障。
在每次运行中,我看到了不同的失败集。
是的,10次中有3次我看到了100%的通过率。
我遇到的异常主要是StaleElementReference异常和NoSuchElement异常。
是的,我处理了AJAX调用,并且有必要的显式等待和隐式等待。
这就是selenium的行为方式吗?我们不能一直保持100%的通过率吗?
我知道这个问题太笼统了。但我真的很沮丧,我想知道我是唯一一个面临这个问题的人,还是还有其他人。
发布于 2015-04-14 17:04:19
是的,如果你的测试写得很好,你可以在Selenium测试上有100%的通过率。
你所做的只是一些不可靠的测试。请参阅http://martinfowler.com/articles/nonDeterminism.html
发布于 2015-04-14 18:36:47
是的,你可以有100%的通过率,但这真的取决于你的测试环境设置。您必须通过等待等方式同步所有元素,但在某些情况下,webdriver和web浏览器之间的通信无论如何都会失败(但在新版本中有改进)。因此,基本上使用webdriver时,间歇性测试更为常见。因为你没有写更多的细节,所以有一些通用的选项:
在进行了几次测试之后(例如,在每次测试class)
),然后重新启动web浏览器
这些选项更像是变通方法,而不是正确的解决方案。对于webdriver来说,同步测试状态和web浏览器状态是很重要的。
https://stackoverflow.com/questions/29621775
复制相似问题