Appium 跪求,popupWindow 有办法处理么?目前论坛里没找到合适的解决方法

luoxi001713 · 2016年05月10日 · 最后由 SHI1992 回复于 2016年07月01日 · 1854 次阅读

最近刚接触的 appium, 使用 python 语言。退出登录的时候,遇到一个 popupWindow,一个确认按钮和一个取消按钮。 uiautomatorviewer 无法识别,hierarchyviewer 能识别,但是不知道怎么处理。

看了一些人说是焦点问题,需要开发配合改焦点,这点暂时不考虑。 还有没有其他办法?

如果实在不行,hardcode 用坐标的话,坐标应该用什么工具定位?用什么方法去点击?十分感谢~~~不胜感激

共收到 7 条回复 时间 点赞

一种办法可以发送导航键的 KEYCODE :KEYCODE_DPAD_DOWN/RIGHT 之类的
我一直用 uiautomatorviewer,非 web 的好像都可以识别吧

#1 楼 @niuniudd 发导航键是什么意思?类似上下左右?定位到之后再 find 还是直接 enter?

#2 楼 @luoxi001713 我之前用发送的是 adb shell 命令,不需要定位,系统自身弹出的弹出框用 adb shell input keyevent KEYCODE_DPAD_DOWN\adb shell input keyevent KEYCODE_DPAD_RIGHT/adb shell input keyevent KEYCODE_DPAD_CENTER 可以把弹出框点掉

目前使用 keyevent 可以解决,先按先上,然后 Enter。Python 代码如下,不知道有没有更好的方法能解决?

self.driver.keyevent(19)
time.sleep(1)
self.driver.keyevent(66)

之前看到个帖子,
desired_capabilities={
'app': app,
'platformName': 'iOS',
'deviceName': 'iPhone 6',
'autoAcceptAlerts': 'true',
})
'autoAcceptAlerts': 'true',这句话就是自动接收系统权限的方法。如果是安卓,就等弹出之后捕获元素丢到 try 里面去处理吧

目前使用 keyevent 可以解决,先按先上,然后 Enter。Python 代码如下,不知道有没有更好的方法能解决?

self.driver.keyevent(19)
time.sleep(1)
self.driver.keyevent(66)

我使用这种方式也点不到啊

可以尝试使用坐标,毕竟弹出的位置相对是固定的。

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