我们在这里使用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拍摄的截图我们确实在教程的页面上,而不是预期的下一个。自从我们更改页面的步骤成功以来,它是如何成功的?
有没有人遇到过这种随机故障?
(抱歉英文不好,不是我的母语:()
答案 0 :(得分:1)
我在某些设备上遇到类似的随机故障。问题有时是您尝试触摸的元素,而不是上一步的超时。在我的情况下,有时键盘花了太长时间才能消失,阻止葫芦看到背后的元素。避免这种错误的正确方法是等待元素出现。
wait_for_element_exists(uiquery)
在每次此类触摸事件之前使用上述内容,它可能会有效。