AirtestProject / AirtestProject/Airtest
[功能增强,不是bug] 关于支持app内webview的操作和录制
- 主要语言
- Python
- 星标
- 9.6k
- 派生
- 1.5k
- PR 合并指标
- 30 天内没有已合并 PR
描述
不知道airtest的大牛们是否能增强一下airtest的webview功能?一个是关于app内webview的操作,一个是关于app内webview的录制
【背景】看了https://airtest.doc.io.netease.com/IDEdocs/poco_framework/poco_webview/, airtest对于app内的webview是依靠系统把webview映射成native来操作,然后用native来操作,但是很多场景下其实是需要操作webview元素;
Appium框架是支持操作app内webview元素的,原理和操作大致是
1. pc上启动一个chromedriver ,用adb做转发
chromedriver --url-base=wd/hub --port=8000 --adb-port=5037 --verbose
2. 自动化脚本设置selenium参数,依靠adb转发请求到手机app内的webview
` from selenium import webdriver
options = webdriver.ChromeOptions()
#指定连接的app
options.add_experimental_option('androidPackage', 'com.lowcode.testapp.andr')
options.add_experimental_option('androidProcess', 'com.lowcode.testapp.andr')
options.add_experimental_option('androidUseRunningApp', True)
#指定连接的手机
options.add_experimental_option('androidDeviceSerial', '55264ffe1220')
d = options.to_capabilities()
driver = webdriver.Remote(command_executor="http://127.0.0.1:8000/wd/hub", desired_capabilities=d)
sleep(5)
#连接后就可以操作webview内元素了
driver.find_element_by_id("kw").click()`
原理相对简单,
【增强1】是否可修改airtest中selenium的框架去支持操作手机app内的webview(H5)?
【增强2】操作app内的webview相对好说,非airtest的开发人员也可以打补丁实现; 但是录制还是不行,现在airtest用selenium录制是直接打开pc上的浏览器,我看录制介绍的原理如下图,好像是airtest用dev tools协议连接浏览器,获取浏览器上的操作解释成脚本。
那么是否可以再让airtest用devtools协议连接手机app内的webview? 这样在手机上操作也能录制webview脚本了。
不管如何,先行感谢您耐心读完此帖!
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。