注意:Android应用中的相同webview正常工作
我无法确定问题,是Appium驱动程序还是WKWEBVIEW的问题,如果有人知道这个问题出现的原因,请帮我解决问题
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformVersion", "11.2");
capabilities.setCapability("platformName", "iOS");
capabilities.setCapability("deviceName", "iPhone 7");
capabilities.setCapability("app", ""); // app path
capabilities.setCapability("automationName", "XCUITest");
capabilities.setCapability("instrumentApp", true);//added now
capabilities.setCapability(MobileCapabilityType.UDID, "75C77542-36B8-4E6F-86C7-904237C8CB82");
capabilities.setCapability(IOSMobileCapabilityType.BUNDLE_ID, ""); //a.b.com
capabilities.setCapability("showXcodeLog", true);
capabilities.setCapability("cssSelectorsEnabled", true);
capabilities.setCapability("nativeEvents", true);
capabilities.setCapability("nativeWebTap", true);
return capabilities;
Appium版本:1.9.1
当appium驱动程序切换到不同的URL时,Appium会记录
@amit,嗨。
我在这里建议几个选项:
1)您能否分享用于初始化会话的功能?你instrument your application?
dc.setCapability("instrumentApp",true)
2)here也出现了类似的问题。请检查您当前使用的版本。
有一个新的测试版。请尝试(npm uninstall -g appium && npm install -g appium @ beta)。
@imurchie我已经确认1.8.2-beta确实安装了appium-remote-debugger的v3.12.0,我可以成功切换到webviews!我将对我的应用程序运行完整回归,看看我是否遇到任何问题。
希望这有帮助,如果问题仍然存在,请告诉我。
3)2019/03/07更新@amit,需要了解在代码实现中如何从原生切换到webview。在我过去的项目中,我使用了以下方法(基于AppiumDriver):
Set<String> contextNamez = driver.getContextHandles();
for (String singleContext : contextNamez) {
log.info(singleContext); //smth like NATIVE_APP, WEBVIEW_com.example.android etc..
}
String newContext = contextNamez.toArray()[1].toString();
driver.context(newContext);// sets context to WEBVIEW_com.example.android
//使用切换回Native上下文
driver.context(NATIVE_APP);
我对你的日志做了评论。对我来说似乎有点奇怪 - 是INFO和DEBUG级别的日志。我没有看到任何错误或例外。请你仔细检查一下你是否在adb logcat中有任何例外?
特此感谢,尤金