最近在学习Appium有关的自动化知识,并自己拿了一款APP(和家亲)去上手练习。然后在用和家亲去设置路由器下挂设备的智能限速时,使用Appium Inspector并不能看到对应的"限速设置"弹框的元素,无法对"下载限速"和"上传限速"的开关和数据进行操作。我应该怎么样才能识别并正常用Appium去操作弹框上的元素。
【和家亲限速设置弹框页面】
【使用Appium Inspector查看不到弹框元素】
后面发现是APP内存在android.webkit.WebView,在网上查资料需要切换到webview的context环境中,但是我用Appium进入到这个页面后,输出当前的上下文(current_context)以及所有的上下文环境(contexts),前者显示的是"NATIVE_APP",后者显示为"['NATIVE_APP']",并不能正确切换webview。
后面问了一个测试teacher,他推荐的是采用airtest+poco的方式去进行元素定位和操作,但是在我已经大量操作使用了Appium的情况下,切换到airtest会导致工作量很大,花费时间更多,不太想使用这个框架,虽然用airtest工具确实能看到弹框的元素信息(包含了"am-modal-container" 和 "android.app.Dialog"元素)【这个方法也只能留到最后不得已才使用,跟坐标定位一样,实在不得已才使用】
【使用Airtest+Poco能看到限速设置弹框元素】
后面为了能让Appium Inspector能正确识别到限速设置弹框元素,上网搜了一些资料,资料里面提及使用Xposed去开启设备的webview debugger远程调试模式,安装完Xposed后,会提示Xposed框架未安装,不能正常开启设备的webviewdebugger功能。
【Xposed框架未安装】
到目前已经花费极多时间去解决这个弹框定位问题,感觉在问题解决上很难再进一步,没啥思路,所以在这想请问各位大伙有没有思路或者有解决过这种问题的指点一下哈