更新
B站视频版:https://www.bilibili.com/video/av97162233
1. 背景
- 对于某些混合型app大多采用原生+H5的方式进行驱动,在做appium测试性此类app需要注意原生app和H5的context切换工作,如appium官方文档:
地址: http://appium.io/docs/cn/advanced-concepts/hybrid/
2. 如何正常切换Webview和原生app的context
1. 开启app webview的debug模式 (https://developer.chrome.com/devtools/docs/remote-debugging#configure-webview)
2. 查看安卓端 Android System WebViewapp的版本号,并使用对应版本的chromdriver驱动它。
版本对应表:https://npm.taobao.org/mirrors/chromedriver
进入淘宝chromdriver源的某个具体版本,然后查看notes.txt
3. 启动appium时添加参数 --chromedriver-executable /path/to/my/chromedrive
4. 在代码中切换到H5(记得切换回来)
# switch to webview
webview = driver.contexts[-1]
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()
```
PS: 我注意到某些国(垃)产(圾)ROM死活都切换不过来
比如vivo oppo。遇到这种问题不用纠结了,换手机吧。
- 疑问咨询请加QQ群:1084188341