我在混合应用程序上运行测试。我的配置是:Xcode版本设置为&#9.2; 9.2' (工具v9.3.0.0.1.1521514116),Appium 1.7.2,功能如下:
capabilities.setCapability("xcodeConfigFile", "/path/to/xcodeConfigFile.xcconfig");
capabilities.setCapability("newCommandTimeout", 600);
capabilities.setCapability("nativeWebTap", "true");
capabilities.setCapability("noReset", "true");
capabilities.setCapability("fullReset", "false");
capabilities.setCapability("chromedriverExecutable", chromeDriver);
capabilities.setCapability("bootstrapPath", "/Upath/to/appium-xcuitest-driver/WebDriverAgent");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, deviceName);
capabilities.setCapability("udid", UDID);
capabilities.setCapability("platformVersion", "11.2.6");
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, platform);
capabilities.setCapability("app", iOSAppPath);
capabilities.setCapability("automationName" , "XCUITest");
如果我使用capabilities.setCapability(" autoWebview"," true"),测试将停留在驱动程序初始化,因为它找不到任何webview。
webDriver.getContextHandles()仅返回真实设备上的NATIVE_APP,但也会在模拟器上返回WEBVIEW_2908.1。
使用的外部库是:
SaxonLiaison.jar
commons-lang3-3.1.jar
commons-validator-1.4.0.jar
guice-3.0.jar
java-client-4.1.2.jar
jcommander.jar
jxl-2.6.10.jar
log4j-1.2.16.jar
poi-3.10.1-20140818.jar
reportng-1.1.4.jar
saxon-8.7.jar
selenium-server-standalone-2.53.0.jar
smslib-3.5.4.jar
testng-6.8.21.jar
velocity-dep-1.4.jar
xslt.jar
我无法更新到更新的版本,因为我在java-client-4.1.2.jar中实现了一些功能的错误(例如webDriver.tap())
正如在appium.io和其他问题上找到的那样,我安装了所有可能的东西,例如:ios-webkit-debug-proxy,libimobiledevice和ios-deploy
编辑:之前我不知道我必须手动运行ios_webkit_debug_proxy,所以我用三个不同的端口运行了三次:9221,9222和9223,我收到了相同的结果,这是唯一记录的内容终端:
ios_webkit_debug_proxy -c <udid>:9222
Connected :9222 to iPhone X (<udid>)
答案 0 :(得分:1)
我在这里找到了我的问题的解决方案:https://github.com/appium/appium/issues/7676
我只需启动ios_webkit_debug_proxy并使用指向ios_webkit_debug_proxy端口的参数启动appium服务器
ios_webkit_debug_proxy -c UDID:27753 -d
appium --no-reset --webkit-debug-proxy-port 27753