【发布时间】:2020-09-16 22:29:01
【问题描述】:
我正在尝试在不安装 Xcode 的情况下在 iOS 设备上运行自动化测试,但似乎它不起作用。
所以我只想知道 Appium 真的需要 Xcode 来在 iOS 设备上运行自动化测试吗?为什么?
【问题讨论】:
我正在尝试在不安装 Xcode 的情况下在 iOS 设备上运行自动化测试,但似乎它不起作用。
所以我只想知道 Appium 真的需要 Xcode 来在 iOS 设备上运行自动化测试吗?为什么?
【问题讨论】:
需要 Xcode 才能让 Appium 工作。
Appium 的命令生命周期,作用如下:
Selenium webdriver 从代码中选择一个命令,例如 (Element.click),并通过 http 请求以 JSON 的形式将其发送到 Appium 服务器。 Appium 服务器知道 iOS 和 Android 等自动化上下文,并将此命令发送到 Instruments 命令服务器,该服务器将等待 Instruments 命令客户端(用 node.js 编写)获取并在 iOS 中的 bootstrap.js 中执行它仪器环境。一旦命令被执行,命令客户端将消息发送回 Appium 服务器,该服务器在其控制台中记录与命令相关的所有内容。这个循环一直持续到所有命令都被执行为止。
Apple 的 Instruments 二进制文件(Appium 用于启动 iOS 模拟器)默认使用当前选择的 Xcode,以及随该版本 Xcode 安装的最高 iOS SDK。
【讨论】:
Appium 使用 appium-xcuitest-driver 使用 Xcode UI 测试协议测试 iOS 设备。在后台,它将在 iOS 设备上启动 WebDriverAgent,这会完成繁重的工作。
有第 3 方的商业软件,可让您在 iOS 设备上启动 Appium 测试,而无需使用 Xcode。此类示例包括 MicroFocus 的 Mobile Center、Experitest 的 Appium Studio 或 the quamotion/appion-docker-ios docker image。
【讨论】:
是的,您需要 xcode 才能在 ios 上运行测试。是的,它支持原生、混合以及浏览器。
【讨论】: