由于未找到元素,Calabash Android随机失败

时间:2016-05-09 08:58:12

标签: android calabash calabash-android

我们在这里使用calabash-android进行功能测试,我们遇到了奇怪的行为。 我们有一些简单的场景,如:

When I skip the tutorial
Then I must land on my 'fancy' screen

这种情况大部分时间都会成功,但有时(大约10-15%的时间)2次失败是可能的。第一个是因为calabash-android找不到When I skip the tutorial查找的元素(它只是一个id为button_ok的按钮)。在检查截图时,我们看到了元素,这很奇怪。我怀疑元素的动画,所以我有post_timeout,就像这样:

tap_when_element_exists("* id:'button_ok'", :post_timeout => 2)

但没有改变。

第二个可能的失败是步骤When I skip the tutorial成功通过但下一步我们检查我们是否在正确的页面上失败,因为页面没有改变...在calabash拍摄的截图我们确实在教程的页面上,而不是预期的下一个。自从我们更改页面的步骤成功以来,它是如何成功的?

有没有人遇到过这种随机故障?

(抱歉英文不好,不是我的母语:()

1 个答案:

答案 0 :(得分:1)

我在某些设备上遇到类似的随机故障。问题有时是您尝试触摸的元素,而不是上一步的超时。在我的情况下,有时键盘花了太长时间才能消失,阻止葫芦看到背后的元素。避免这种错误的正确方法是等待元素出现。

wait_for_element_exists(uiquery)

在每次此类触摸事件之前使用上述内容,它可能会有效。