我正在尝试使用Monkey runner和Android ViewClient模拟Android平板电脑上的点击。我想点击具有特定文本的区域/视图。以下是我正在尝试做的一个例子:
我有一个脚本,我导入MonkeyRunner,MonkeyDevice,ViewClient
from com.dtmilano.android.viewclient import ViewClient
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
连接平板电脑并创建MonkeyDevice对象
device = MonkeyDevice.waitForConnection()
使用设备我然后创建一个Android ViewClient对象
vc = ViewClient(device)
我在平板电脑上打开“设置”应用
device.startActivity('com.android.settings/.Settings')
然后我使用以下方法找到所需的视图:
displayView = findViewWithAttribute('text:mText', 'Display')
然后我尝试点击该视图(通过模拟触摸事件):
displayView.touch()
问题是此脚本触及屏幕的另一部分,位于“设置”应用中WiFi线左侧的某个位置。
我查看了ViewClient的源代码,发现touch()方法返回视图的(x,y)坐标,然后使用MonkeyDevice.touch()方法。但返回的(x,y)坐标是相对于视图的父级。
有人知道如何获得视图对象的正确(x,y)坐标吗? 或者至少是一种获取观点的父母的方法。
答案 0 :(得分:0)
问题解决了。最新版本的AndroidViewClient解决了我的问题。
我可以使用:
view = vc.findViewWithText('Dsiplay')
view.touch()