appium对混合型app进行UI自动化测试,就涉及到对webview的处理,采取以下措施:
- 需要在android app代码中增加代码(必须使用该代码,尝试过很多方法,都是以失败告终)
if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
} - Set contextNames=driver.getContextHandles(); 查看当前所有的窗口,包含所有打开的APP
- driver.context(“WEBVIEW_1”); 通过该方法切换到应用的webview下
driver.context(“NATIVE_APP”); 切换回原生APP下
具体可以参考http://appium.io/slate/en/master/# - 获取webview页面定位方法和web相同
driver.findElementByID(“wd”); 类似此方法