webview测试
模拟器
- webview控件会被映射为原生控件,类型为view,其中的文本内容会变成content-desc或者text
- 6.0会把webview中的控件变成一个带有content-desc属性的view控件
- 9.0会把webview中的控件变成一个带有text属性的view控件
真机上
- 如果app未开启webview的调试属性,是无法分析内部的控件的
- 个别手机可能会默认打开此属性,所以默认也能访问到H5内部的控件
- 如果还是访问不到,检查webview的调试属性是否开启,此时需要让研发配合打开webview的调试属性
- adb shell cat /proc/net/unix | grep webview
webview测试用例
- 不需要css定位:直接使用accessibility-id或者xpath定位就可以直接定位到
- 需要css定位以及其他的js执行功能:contexts api
# switch to webview
webview = driver.contexts.last
driver.switch_to.context(webview)
# do some webby stuff
driver.find_element(:css, ".green_button").click
# switch back to native view
driver.switch_to.context(driver.contexts.first)
# do more native testing if we want
driver.quit()
webview技术原理
使用chrome62调试Android webview
其他
网易momo不支持webview