如何在 iOS 真机运行 Appium

2025-03-04 16:33:24
推荐回答(1个)
回答1:

Appium支持Android也支持iOS,但是两者还有很大的区别,我使用Appium一个多月,刚开始是Android,后面才用iOS,所以做iOS自动化的时候比Android艰难多了,后来才发现这两个的模式有一定的差别。(当然可能是我Mac的基础太差)就以我在理解浅显的描述下两者的区别。  AppiumAndroid工作模式(如下经验仅仅是我在windows上的经验,mac上只用了ios,如有说错,请大家指正):  过程大概如下:  1.Android设备已经开启(包括真机和模拟器,真机已经连接上电脑,当然驱动少不了。。。)  2.Appium打开(命令行打开的同时Appiumserver也同时开启了)  3.Appium启动时连接Android设备,这里不做任何设置(什么app,浏览器,API版本。。。,IP和端口还是需要设置的)就可以成功开启Appium  AppiumServer启动直接连接设备。  自动化用例执行时连接上Appiumserver,才告诉Appium我要测什么app。。。之类的caps  AppiumiOS工作模式:  iOS和Android不同,模拟器和真机有区别,我分开说  iOS模拟器过程如下:  1.打开Appium(命令行直接执行Appium就算是启动了,GUI的可能还需要点击launch)  2.启动Appiumserver除了设置IP和端口,别的也不需要设置(命令行打开的时候就带了IP和端口的参数)  AppiumServer开启时不连接任何模拟器,执行用例是才按照caps开启对应的模拟器和安装app  iOS真机:  1.真机连接上电脑  2.Appium打开(命令行直接执行Appium就算是启动了,真机需要-u参数设置真机UUID,GUI的可能还需要点击launch)  3.启动Appiumserver除了设置IP和端口(命令行打开的时候就带了IP和端口的参数),需要设置真机的UUID(当然还有其他关联caps也需要设置),Appium启动时需要连接真机  那么问题来了(别想歪了,不是blueshit。。。)  开启Appiumserver的时候什么设置都不要,那GUI里面的那么多设置都是干什么用的?(什么app,浏览器,API版本。。。)  答案就是Inspector用的,Inspector就和你执行用例一样的,需要告诉server你的caps都是什么。  AndroidSDK有工具可以用来识别UI的,UIAutomationView,在SDK的目录下,所以AppiumAndroidinspector的可以不要。  iOSSDK不知道是否有类似的工具,所以我还是用Appium的Inspector来抓对象。  以上都是个人经验,如有错误,望大家一起探讨。