Appium 请教大家点问题:1、在公司 APP 无法提供 debug 包时,如何进入 H5 页面定位元素。目前卡在这

keeper · 2021年05月31日 · 最后由 ZedBug 回复于 2021年11月03日 · 3137 次阅读

请教大家点问题:1、在公司 APP 无法提供 debug 包时,如何进入 H5 页面定位元素。目前卡在这

共收到 20 条回复 时间 点赞

提供三种方式修改 apk 为 debug 模式
1.重新打包 apk 新增配置节点 dedugable = true
2.修改系统为 debug 版本
3.利用面具或者 xposed 插件修改为 debug 包 https://security.tencent.com/index.php/opensource/detail/17

陈恒捷 回复

也不一定,也有一些 webview 是可以通过 UIAutomator 渲染的,虽然很多信息缺乏,但可以通过 xpath 来找

提供一种思路,opencv 模板的方式去试着识别,虽然慢一点,但是可以用,哈哈。

用以前用过 xposed 现在不知道行不行了

陈恒捷 回复

可以,只要是安卓 6.0 的模拟器,装上去的 app 都会被强制打开 webview debug

这个提醒我了,还有开发版操作系统强开 debug 这招。话说以前一般真机上用小米的开发版系统做,现在这方法还能走得通不?

单纯的 h5 逻辑可以直接到浏览器中做自动化,涉及到 h5 和 app 交互的可采用图像识别

试试反编译 APP,然后再加上开启 webview debug 调试的代码,再回编译重签名打包试试? 我没试过,就是一个想法

可以使用 xposed + 模拟器(root)后可以操作内嵌 H5

你可以试试安卓模拟器 6.0 版本,会强制把 webview 打开

用 xposed 试试看能不能打开 webview

是不是可以尝试下使用电脑端浏览器的模拟器 +F12,或者代码下下来里面打断点

keeper 回复

测试环境的 debug 包都不能给的吗?这有啥安全问题

陈恒捷 回复

好的,谢谢,我去问问 H5

keeper 回复

这么说吧,原理上,不提供 debug 包,或者更明确说,应用包里面 webview 没有打开 debug 开关的话,那就没法从 webview 内核拿到元素树等信息,也没法操作里面的元素。

这种情况下,图像识别是目前认知里面唯一能用的招了。

如果你的 h5 功能和 app 没有耦合或者调用,那还有一种方法,你另外用浏览器单独测试这个 h5 。

keeper #16 · 2021年05月31日 Author
陈恒捷 回复

调研用了网易的 smart,太不智能了

keeper #17 · 2021年05月31日 Author
chend 回复

问过原生负责人,说集团不给外包提供 debug 包,安全问题

用 airtest 之类的,通过图像识别来做?

找下无法提供 Debug 包的原因, 看能解决不😀

好像无解

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