Monkeyrunner:如何通过相对位置而非绝对坐标访问元素?
我想要自动化
测试一个安卓应用,monkeyrunner
是我考虑使用的工具,因为它可以和python
一起用(我还没学过java)。
我之前用过Selenium WebDriver
来自动化桌面网页测试,这让我可以通过网页元素的html属性或者相对Xpath
来访问这些元素。但是看了monkeyrunner的接口文档后,我发现它似乎只能使用绝对的x,y坐标,这样就不太好用了,因为安卓设备的大小各不相同。
有没有其他方法可以不使用绝对定位来通过monkeyrunner访问元素呢?
2 个回答
0
你可以使用uiautomator。这是谷歌提供的一个工具,用来测试应用的界面。你可以通过这个工具从一个假用户的角度来测试应用。它可以模拟点击、拖动和长按等操作,针对的是通过ID或者其他属性组合识别出来的界面元素。
http://developer.android.com/tools/help/uiautomator/index.html
这些测试可以用Java编写。不过,还有一个Python的封装版本,效果也很好。你可以看看:
https://github.com/xiaocong/uiautomator
这个版本保留了大部分原工具的功能,而且脚本更容易编写。
0
看看这个链接:AndroidViewclient/culebra。它可以根据一些特征来找到界面上的元素,比如它们的ID、文本内容、描述等。