appium求助,ios模拟器中触屏手势运行报错

2024-11-30 22:14:11
推荐回答(1个)
回答1:

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