最近刚接触的 appium, 使用 python 语言。退出登录的时候,遇到一个 popupWindow,一个确认按钮和一个取消按钮。 uiautomatorviewer 无法识别,hierarchyviewer 能识别,但是不知道怎么处理。
看了一些人说是焦点问题,需要开发配合改焦点,这点暂时不考虑。 还有没有其他办法?
如果实在不行,hardcode 用坐标的话,坐标应该用什么工具定位?用什么方法去点击?十分感谢~~~不胜感激
一种办法可以发送导航键的 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 里面去处理吧
我使用这种方式也点不到啊
可以尝试使用坐标,毕竟弹出的位置相对是固定的。