如何使用 Appium 滚动 Robot Framework 以在 Android 设备上测试应用程序
Posted
技术标签:
【中文标题】如何使用 Appium 滚动 Robot Framework 以在 Android 设备上测试应用程序【英文标题】:How to scroll with Robot Framework using Appium to test an application at Android device 【发布时间】:2019-10-04 19:40:57 【问题描述】:我正在使用 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】:你所拥有的似乎很接近,但我会......
1) 使用“按百分比滑动”而不是滑动。
2) 创建一个关键字,如“如果未找到元素则向下滚动”。检查屏幕中的元素。如果存在,则返回 True。如果没有,请向下滑动百分比并返回 False。
3) 没有 FOR 循环。使用等待关键字成功并调用您的新滚动关键字。
【讨论】:
感谢您的回答。但实际上有一件事,我不明白。我的主要问题是,似乎没有关键字可以告诉我,元素何时在屏幕上实际可见。否则,您的建议实际上非常好,但我不明白它将如何解决原始问题。以上是关于如何使用 Appium 滚动 Robot Framework 以在 Android 设备上测试应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Robot Framework - 将 Appium 驱动程序传递给 python 脚本
遍历recyclerview的item,使用Appium和Robot Framework选择符合条件的item