Appium 问下大神,关于移动端怎样定位选择本地照片,然后执行上传的的操作呀,目前使用 uiautomatorviewer 查看元素的 id,class 等信息发现每张照片都是一样的,没有唯一的定位标示

枫叶 · 2017年11月24日 · 最后由 枫叶 回复于 2017年11月24日 · 2092 次阅读

使用 appium 做移动端的自动化,目前有一个上传本地图片的操作,但是使用 uiautomatorviewer 查看元素的 id,class 等信息发现每张照片都是一样的,没有唯一的定位标识,这种情况应该怎样实现对单张照片的定位呢,求知道的大神给予解答哈

共收到 14 条回复 时间 点赞

求解答。。

对上传的图片没要求的话,无所谓执行点击操作就 OK 了

对上传的图片有要求的话,先识别图片位置转换成坐标在点击操作就 OK 了

渐次消逝 回复

对图片无要求,能选中照片就行,我执行了点击操作,但是貌似识别不了我写的定位元素

对图片无要求,但是我执行了点击操作,貌似识别不了我写的定位元素

渐次消逝 回复

你这个将位置转换成坐标是具体怎样做的,能详细说明下吗,贴个代码啥的😀

枫叶 回复

我是 robot framework +python,使用如下方法可以模拟坐标点击:
Click A Point x y 10

难道不可以用类似 instance 的方式吗?或者把所有相同 id 的控件集合找出来,然后在列表中选择其中一个,不一定要完全唯一才可以定位的!

—— 来自 TesterHome 官方 安卓客户端

Crazyerick 回复

这边看如果所有 id 是一样的那就默认选择的是第一个

#9 楼 @FengYeLoveCode 如果底层用 u1 可以指定 instance 指定选哪个,如果用 u2,可以 findObjects 获得一个列表,完全自己取一个,这完全可以改的。

—— 来自 TesterHome 官方 安卓客户端

枫叶 #11 · 2017年11月24日 Author
Crazyerick 回复

嗯,大概查了下 Instance 的使用方法,能满足选择指定元素,感谢提供的方法哈

枫叶 回复

我用 java 的,有个 JavaCV 的包可以识别出当前页面指定的目标图片,然后返回中心坐标,接下就是坐标点击的事

枫叶 回复

对图片没要求,就直接用坐标点击就行啦

枫叶 #14 · 2017年11月24日 Author
渐次消逝 回复

OK,感谢提供方法哈

枫叶 关闭了讨论 11月27日 17:29
需要 登录 後方可回應,如果你還沒有帳號按這裡 注册