RF+Appium 解决点击不到控件问题:不切换webview模式,直接操作Webview中各控件
RF+Appium 解决点击不到控件问题:不切换webview模式,直接操作Webview中各控件
点击不到控件问题:不切换webview模式,直接操作Webview中各控件
Appium Desktop 版本:1.9.0
Android 版本:7.1
android 6.0以上系统,无需切换webview模式就可以测试app中的webview,通过appium打开webview后,使用UiAutmatorviewer可以看到,webview中各控件可以像普通NATIVE控件一样可以捕捉到其控件信息。如下图:
但是,某些控件无法有效识别。例如,无法勾选✔同意协议控件。
一、个人解决方案
1. 思路
- 定位控件“我已阅读并同意”;
- 获取控件“我已阅读并同意”的大小(size);
- 通过控件“我已阅读并同意”来定位勾选✔同意协议控件的位置
- 封装关键字“Tap On A Point”点击此控件
二、找到并勾选✔同意协议控件
关键字:Tap A Point 点击控件
def tap_a_point(self, x=0, y=0, duration=100):
# Author: Allan
""" Tap on a point"""
self._info("Clicking on a point (%s,%s)." % (x,y))
driver = self._current_application()
action = TouchAction(driver)
try:
action.tap(x=float(x), y=float(y)).perform().release()
except:
assert False, "Can't tap on a point at (%s,%s)" % (x,y)