Appium appium 中如何定位弹出窗口的元素?

xuxiujin · 2014年10月20日 · 最后由 sandy 回复于 2018年11月05日 · 5230 次阅读

通过 appium inspector 我可以定位到当前页面的所有元素,但是就是定位不到弹出窗口的元素!
如上图所示对于红框里的内容老是定位不到,只能获取到背影图的元素,请问这个有什么方法可以定位到呢?

共收到 14 条回复 时间 点赞

你用 uiautomatorviewer 看一下,如果能看到元素,就可以搜索到

@xiang2743 用 uiautomatorviewer 在页面上可以看到弹出的框框但是无法看到元素!

大家难道都 没有遇到这类问题吗?

遇到了,你现在找到解决的方法了吗

#3 楼 @xuxiujin 是不是开发人员没有在 UI 界面中增加元素信息? 实在获取不到,可以通过获取图片所在的坐标,然后进行点击操作,以达到你想要的操作效果。
先获取屏幕分辨率,然后再设置坐标

##获取手机屏幕分辨率
x = self.driver.get_window_size()['width']

y = self.driver.get_window_size()['height']

x = int(x*0.1)
y = int(y*0.1)

self.driver.tap([(x,y),])

其中 x/y 为你的 UI 界面上想要点击的图片对应的坐标。
如果想获取坐标数据,安卓手机,可以在开发者选项中打开指针位置。

@strayeagle 谢谢楼上的,我不是开发人员我是测试人员!

@lena 我的方法是直接坐标定位,不过换了个分辨率不同的手机会报错!测试的时候只能用同一台手机,要不然脚本都废了

#7 楼 @xuxiujin 恩,这就是弊端了。可以要求开发人员界面上增加 button 触发效果

@strayeagle 是否只要是可以点击进入的都是 button 触发的?只是有些元素在 uiautomatorviewer 都 没有定位到,但是确实又是存在的东西

你先确认下那个 app 的弹框是什么控件吧? 是 webview, 还是自定义 view?

你这个问题解决了吗?我也遇到了这样的问题

现在楼主还有在研究自动化测试么

我也遇到此问题了,请问怎么解决的?

用相对坐标去点击,比如找到弹出框占屏幕的比例,找到弹出空的横纵坐标,偏移去点要点的位置

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