作者: Max.Bai
时间: 2014/10
Appium - Android 对比 iOS
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来抓对象。
以上都是个人经验,如有错误,望大家一起探讨。