如何使用Appium与Robot Framework滚动以在Android设备上测试应用程序

时间:2019-05-17 13:03:06

标签: android appium robotframework appium-android

我正在使用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实际上看到了元件。但是,由于无法在屏幕上看到该元素,因此无法单击该元素。

1 个答案:

答案 0 :(得分:1)

您所拥有的似乎很近,但是我会...

1)使用“按百分比刷卡”而不是刷卡。

2)创建类似“找不到元素时向下滚动”之类的关键字。检查屏幕上的元素。如果存在,则返回True。如果不是,请向下按百分比滑动并返回False。

3)没有FOR循环。使用等待关键字成功后再调用新的滚动关键字。