我正在使用Robot Framework和Appium对Android设备进行测试自动化。我正在测试一个应用程序,但未使用Android设备网络浏览器进行测试。我需要与某个元素进行交互的某些测试,该测试非常底部并且如果不向下滚动则无法在屏幕上看到。如果在屏幕上看不到任何元素,似乎无法单击它。我的问题是,我没有任何好的方法可以滚动到正确的位置,因此我可以100%确定该元素在屏幕上可见。
我已经准备好尝试制作一个可以使用Swipe的Robot Framework关键字在正确的位置滚动。
: FOR ${counter} IN RANGE 0 5
\ Swipe 15 600 15 200
\ ${el} Run Keyword And Return Status Wait Until Page Contains Element ${lokalizator}
\ log ${el}
\ Run Keyword If ${el} Exit For Loop
\ ${counter} Set Variable ${counter}+1
我试图根据需要滚动尽可能长的时间以查看元素($ {lokalizator})然后停止,但是实际上发生的是滚动立即停止,因为关键字Wait Until Page Contains Element
实际上看到了元件。但是,由于无法在屏幕上看到该元素,因此无法单击该元素。
答案 0 :(得分:1)
您所拥有的似乎很近,但是我会...
1)使用“按百分比刷卡”而不是刷卡。
2)创建类似“找不到元素时向下滚动”之类的关键字。检查屏幕上的元素。如果存在,则返回True。如果不是,请向下按百分比滑动并返回False。
3)没有FOR循环。使用等待关键字成功后再调用新的滚动关键字。