APP-自动化定位WEB页面元素

APP定位浏览器这种上下文嵌套的页面时,发现有的元素是无法定位

 点击上面的地球图标,

 点击NATIVE_APP(原生APP下面的选项),切换到web_view选项。就是使用HTML页面。

 但是这个时候会报错,记住报错信息中的版本信息,这里是86.0.4240

上图的报错是指缺乏对应版本的驱动;
 
 
下载好解压后,将驱动的路径配置到appium server中去:(注意):完整的路径名,即包含文件名

 

 

有可能本身软件BUG不能用,就用下面的方法:
 
 
chrome://inspect/#devices   (chrome浏览器地址)
edge://inspect/#devices  (edge浏览器地址)
 

 

使用谷歌浏览器打开webview的方式
 

打开手机app找到需要定位的页面(webview)然后刷新chrome网页,这个时候会出现一些内容,点击inspect或者输入在网页中输入地址。

 点击inspece 进入调试页面:

 选择元素,就可以按照selenium的方式定位了

 

webview切换不了原因:
1、手机的webview构建版本(跟随操作系统版本的,不能降级)
2、appium server 的兼容版本(可以降级,可以升级)
 
我的推理过程:找了一个appium server 很老的版本,还不成功;我就意识到:androidDeviceSerial 这个参数是由 手机的webview 控制的;
我就只能升级appium server 的版本;
appium 的2.0 版本;
 
appium2.0的版本剔除了GUI(也就是桌面版)只保留了 命令行版本;
 
即新版本的appium安装如下:
npm i -g appium@next appium driver install uiautomator2
启动新版的appium server 的方法:
appium
或者
appium server
 
拓展知识:
继appium2.0之后,一个app能否进入webview,现在起需要打开app应用的webview的debug模式; 也就是说,我们不能去测别人的非原生的APP了。 以前webview 随便进; 也就是以后除了你们自己开发的app,其它的app你都进不了webview了。 从腾讯开始的,X5debug;

 

posted @ 2023-06-02 11:59  琉璃星眸  阅读(69)  评论(0编辑  收藏  举报