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

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

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

共收到 14 条回复 时间 点赞
枫叶 #15 · 2017年11月24日 Author

求解答。。

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

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

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

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

枫叶 #11 · 2017年11月24日 Author

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

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

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

枫叶 回复

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

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

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

Crazyerick 回复

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

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

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

Crazyerick 回复

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

枫叶 回复

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

枫叶 回复

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

渐次消逝 回复

OK,感谢提供方法哈

枫叶 关闭了讨论 11月27日 17:29
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册