我试图在不安装Xcode的情况下在iOS设备上运行自动化测试,但似乎无法正常工作。
所以我只想知道Appium真的需要Xcode来在iOS设备上运行自动化测试吗?为什么?
答案 0 :(得分:3)
需要为Appium提供Xcode才能工作。
Appium的命令生命周期,如下:
Selenium webdriver从(Element.click)代码中选择一个命令,并通过http请求以JSON的形式将其发送到Appium服务器。 Appium服务器知道iOS和Android之类的自动化上下文,并将此命令发送到Instruments命令服务器,该命令服务器将等待Instruments命令客户端(用node.js编写)来获取它并在iOS中的bootstrap.js中执行它仪器环境。执行该命令后,命令客户端将消息发送回Appium服务器,该服务器在其控制台中记录与该命令相关的所有内容。这个循环一直持续到所有命令执行的时间。
Apple的仪器二进制文件,Appium用于启动iOS模拟器,默认情况下使用当前选择的Xcode,以及安装有该版本Xcode的最高iOS SDK。
答案 1 :(得分:2)
Appium使用appium-xcuitest-driver使用Xcode UI测试协议来测试iOS设备。在引擎盖下,它将在iOS设备上启动WebDriverAgent,这很繁琐。
有第三方软件,可让您无需使用Xcode在iOS设备上启动Appium测试。这样的示例是MicroFocus的Mobile Center,Experitest的Appium Studio或the quamotion/appion-docker-ios码头工人图像。
答案 2 :(得分:0)
是的,您需要xcode才能在ios上运行测试。是的,它支持原生,混合和浏览器。