Appium 是否需要 Xcode 在 iOS 设备上进行 运行 自动化测试?

Does Appium need Xcode for run automated testing on iOS device?

我正在尝试 运行 在 iOS 设备上进行自动测试而不安装 Xcode,但似乎它不起作用。

所以我只想知道 Appium 真的需要 Xcode 在 iOS 设备上进行 运行 自动化测试吗?为什么?

Xcode Appium 需要存在才能工作。

Appium 的命令生命周期,工作方式为:

Selenium webdriver 从像 (Element.click) 这样的代码中选择一个命令,并通过 http 请求以 JSON 的形式将其发送到 Appium 服务器。 Appium 服务器知道 iOS 和 Android 等自动化上下文,并将此命令发送到 Instruments 命令服务器,后者将等待 Instruments 命令客户端(用 node.js 编写)接收它并在 bootstrap.js 和 iOS instruments 环境中执行它。命令执行后,命令客户端将消息发送回 Appium 服务器,Appium 服务器在其控制台中记录与命令相关的所有内容。这个循环一直持续到所有命令都被执行为止。

Appium 用来启动 iOS 模拟器的 Apple instruments 二进制文件默认使用当前选择的 Xcode,并且最高的 iOS SDK 与该版本的 Xcode。

是的,你需要 xcode 到 运行 你在 ios 上测试。是的,它支持原生、混合以及浏览器。

Appium 在 iOS 设备上使用 appium-xcuitest-driver to test iOS devices using the Xcode UI Testing protocol. Under the hood, it will launch the WebDriverAgent 来完成繁重的工作。

有第 3 方商业软件,可让您在 iOS 设备上启动 Appium 测试,而无需使用 Xcode。此类示例包括 MicroFocus 的 Mobile Center、Experitest 的 Appium Studio 或 the quamotion/appion-docker-ios docker 图像。