Monkeyrunner:如何通过相对位置而非绝对坐标访问元素?

0 投票
2 回答
780 浏览
提问于 2025-04-18 17:45

我想要自动化测试一个安卓应用,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、文本内容、描述等。

撰写回答