Appium:原始错误:-[XCUIElement resolve]: unrecognized selector sent to instance

Posted

技术标签:

【中文标题】Appium:原始错误:-[XCUIElement resolve]: unrecognized selector sent to instance【英文标题】:Appium : Original error: -[XCUIElement resolve]: unrecognized selector sent to instance 【发布时间】:2020-01-19 07:25:48 【问题描述】:

请找到我正在使用的配置,如下所示

Xcode:11 GM 种子 Appium : 1.14.2 真实设备:iPhone 7 (12.4.1)

我已将我的 Xcode 更新为 11,因为 xcode 10.3 不支持 ios 12.4.1。

升级后开始报错

原始错误:-[XCUIElement resolve]: unrecognized selector sent to instance

应用程序正在启动,但之后没有任何反应,我可以在我的 appium 控制台中看到上述错误。

【问题讨论】:

我面临同样的问题,但是我的 IOS 设备在 IOS 13.1 上我尝试了以下 - IOS 13.1 x Xcode 10.3 - 测试表明 IOS 13.1 可能与 Xcode 版本不兼容,并询问我更新它 - IOS 13.1 x Xcode 11 - 面对上述错误,所以现在我被卡住了 【参考方案1】:

如果使用 Appium 1.15.0,您似乎不需要降级 Xcode:

$ npm install -g appium@1.15.0

我设备的 iOS 是 12.4.1,我有 11 和 10.3 Xcode。

当我使用 Appium Desktop 1.13.0 时,我通过打开它的 Xcode 项目(在 Xcode 10.3 中)启动了 WDA,并开始测试 WRA-Runner 目标( CMD + U )。 然后我跑了

$ python -m unittest my_ui_test.py

现在我使用 Appium 1.15.0 运行:

$ appium

然后

$ python -m unittest my_ui_test.py

从另一个终端选项卡。

希望这会有所帮助。

【讨论】:

将 appium 更新到 v1.15 后出现此错误:无法打开项目 /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj,因为它是缺少它的 project.pbxproj 文件。 @NoorYeaserKhan 您是否尝试打开 WebDriverAgent.xcodeproj ? 是的,我在尝试打开 WebdriverAgent.xcodeproj 文件后发现了此错误消息。 @NoorYeaserKhan 好吧,我认为在使用 Appium v​​.15 时不需要打开并启动 WDA。我想它会自动安装到您的设备上。【参考方案2】:

我在这里遇到了同样的问题。 IOS:13.1。我在 12.4.1 iphone 上试过,但遇到了同样的问题 xcode: 10.3

请分享解决方案

【讨论】:

【参考方案3】:

我试过了,它可以在 IOS 模拟器和真实设备上运行

通过nmp安装appium Appium v​​1.15.0-rc.5

Xcode 11.
IOS 13
========
install webdriveragent via path *node_modules/appium/node_modules/appium-webdriveragent* ==> appium had been update

参考https://github.com/appium/appium/issues/13288#issuecomment-535574619

【讨论】:

【参考方案4】:

您是否重新安装了 WebDriverAgent?提供您向 WDA 发送命令的代码,可能您使用了错误类型的选择器。

【讨论】:

感谢您的回复。我自己找到了解决方案,我已经下载了 iOS 12.4.1 的补丁文件并使用 Xcode 10.3 运行,它现在正在运行.....:) @ManishBoricha 您能否提供有关您的解决方案的更多信息?我也面临同样的问题 @Vault23 我有同样的问题,我的代码在这里:gist.github.com/gatamar/…。我将像作者一样尝试 10.3。 @OlhaPavliuk xcode 10.3 是在 appium 测试方面最稳定的版本。我建议您为该版本降级 xcode @zypherman 要获得支持文件,您可以访问此链接github.com/filsv/iPhoneOSDeviceSupport 随着 Xcode 11 的正式发布,您可以在 iOS 13.0 之前的所有设备上安装并运行自动化【参考方案5】:

在更新到 xcode 11 后也遇到了这个问题,我所有的测试在 OS 13 及更低版本的模拟器上都失败了,最终修复是升级到 appium 1.15。使用 npm install -g appium@1.15.0 命令。 无需其他维护或解决方法

【讨论】:

【参考方案6】:

它适用于我的 macbook pro。

环境: - Xcode 11.1 - iOS 13

如何: - 将 appium 从 1.15.0 更新到 1.15。 - 删除 WebDriverAgent 应用和测试应用

Appium 提交者说如果我们更新 appium,最好的方法是通过删除 WebDriverAgent 等来清理环境。

另请参阅:https://github.com/appium/appium/issues/13274

【讨论】:

以上是关于Appium:原始错误:-[XCUIElement resolve]: unrecognized selector sent to instance的主要内容,如果未能解决你的问题,请参考以下文章

Appium 错误:无法创建新会话。 (原始错误:没有从 Chromedriver 获得会话重定向)

Appium 未知错误:处理命令时发生未知的服务器端错误。原始错误:重新安装需要“应用程序”选项

原始错误:在 ["/usr/local/share/android-sdk/platform-tools/aapt"] Appium - Eclipse 中找不到“aapt”

如何使用 Eclipse 在 Appium 上运行脚本测试?

iOS 从 XCUIElement 获取 UI 元素

无法从 Appium 桌面应用程序启动应用程序。 apksigner 执行期间出错