为什么我的Python Selenium Lettuce测试随机失败?

时间:2012-11-08 21:04:53

标签: python selenium webdriver lettuce saucelabs

尝试使用多种类型的选择器并重写大量代码后,我仍然遇到奇怪的随机错误。我做了很多谷歌搜索,发现其他用户有类似的问题。在他们的博客here中提到的酱实验室,他们遇到的这些随机失败的许多问题都是由于竞争条件(测试用例执行得太快)。他们使用try / except循环函数提供了一个解决方案,他们设计了calles spin_assert;但是,我觉得我仍然遇到同样的问题。

我在mac / firefox上运行测试时看到的错误最多,但是看到windows / firefox上的大多数传递。我将time.sleep()增加到许多不同的增量。我还尝试为每个场景打开一个新的浏览器,以减少firefox可能存在的内存问题。我的选项已经用完了。

手动运行测试时,我能够成功传递它们,即使使用我的代码中提供的相同的精确选择器和步骤也是如此。我还能在哪里提高效率和测试可靠性?

编辑:似乎在尝试触发jquery事件时,mac firefox不会以同样的方式理解它。以下是我失败的一个例子:

鉴于我的网页上有一个输入框 当用户在框中键入消息时 然后该框应展开以提供提交按钮和“可选详细信息”字段。

当我在mac firefox中运行此测试时,element.send_keys(“test data here”)将数据传递给正确的元素;但是,似乎webdriver没有将每个键解析为按键,而不会激活jquery / javascript扩展信息部分。如果我在执行测试时运行测试并在webdriver浏览器中单击,则该框将展开;但是,当无人看管时它的通过率为50%。

传递element.send_keys(Keys.RETURN)也不会触发事件。我应该采取什么行动来触发事件?或者它真的没有适当加载?

0 个答案:

没有答案
相关问题