java - appium webdriver 在真实 IOS 设备上未检测到 Webview

标签 java ios webdriver appium appium-ios

我正在混合应用程序上运行测试。我的配置是:Xcode 版本设置为“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>)

最佳答案

我在这里找到了问题的解决方案: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

关于java - appium webdriver 在真实 IOS 设备上未检测到 Webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49901748/

相关文章:

java - Gradle & Intellij 可选择包含其他模块

java - "Non-static variable degrees cannot be referenced from a static context"?

ios - 不要在 iOS 上显示蜂窝数据警告

ios - 如何使用数组中的号码发送短信?

ios - 尽管有 "try?"为什么 swift 抛出异常

java - Selenium 2 窗口切换 : Java

javascript - 使用 webdriver-io 在可滚动元素内滚动?

java - 如何在 Android 应用程序中保护 secret 字符串?

Java/Python 使用 processBuilder

java - isDisplayed() 与 Selenium 中的 isVisible()