Appium 求助大神,怎么定位该元素呢, 用 uiautomatorviewer 查看该模块是整块的,我想定位具体的数字

笨笨的菜鸟VV · 2019年01月10日 · 最后由 笨笨的菜鸟VV 回复于 2019年01月18日 · 1563 次阅读

求助大神,怎么定位该元素呢, 用 UIAutomatorViewer 查看该模块是整块的,我想定位具体的数字,试着加数组下标还是不行,求帮忙看看。

最佳回复

我指的是手机屏幕上 xy 轴的相对坐标

你这 Uiautomatorviewer 是自己改造的吧。先获取父层控件的定位,然后再根据相对坐标进行定位就可以了。父窗体的坐标结合屏幕宽度的三分之一来动态计算你想要控件的坐标。这种方式通用性好,技术实现成本最低。其他的 oc 图像识别也可以考虑,不过复杂了。appium 的最新版本的 client 支持图形识别的。

社区好多人发帖过啊,你没先搜索么?
https://testerhome.com/topics/16569

共收到 11 条回复 时间 点赞
笨笨的菜鸟VV 关闭了讨论 06月15日 16:47

我已经解决啦,谢谢~~

3楼 已删除

社区好多人发帖过啊,你没先搜索么?
https://testerhome.com/topics/16569

谢谢大神·~

hello 回复

图像识别就只能用 Airtest 工具了

说坐标的是没有考虑到这个支付键位是随机变化的。只能图像识别解决

你这 Uiautomatorviewer 是自己改造的吧。先获取父层控件的定位,然后再根据相对坐标进行定位就可以了。父窗体的坐标结合屏幕宽度的三分之一来动态计算你想要控件的坐标。这种方式通用性好,技术实现成本最低。其他的 oc 图像识别也可以考虑,不过复杂了。appium 的最新版本的 client 支持图形识别的。

获取这个支付框的 class 放到一个列表里面,通过坐标拿就行了,XY 轴换个手机可能行不通,但是坐标来说可以因为键盘的排列很少变化。

搭八 回复

好的,谢谢,我试一下

我指的是手机屏幕上 xy 轴的相对坐标

搭八 回复

不行, //android.widget.LinearLayout[@resourceid='com.tencent.mm:id/ak3']/android.widget.LinearLayout[1]/android.widget.LinearLayout[1],我改成 //android.widget.LinearLayout[@resource-id='com.tencent.mm:id/ak3']/android.widget.LinearLayout[1]/android.widget.LinearLayout[1][0] 想定位数字 1,提示找不到

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册