语言的选择

我这里选择的是Python语言(Python3),首先我们需要安装Python的appium包~

安装appium包(安装过的童鞋可以跳过)

终端输入

pip3 install appium-python-client


image.png

可以看到环境已经安装好了~

desired_caps配置

这个其实在安卓上也要有相应的配置,因为你需要告诉appium,你到底是要启动什么机器,机器的型号,机器的udid等信息。

先看一段我的代码,因为只是demo,所以写的比较仓促~~~

from appium import webdriver
desired_caps = {}
desired_caps['deviceName'] = "iPhone 5"
desired_caps['platformName'] = 'ios'
desired_caps['platformVersion'] = '10.0.2'
desired_caps['bundleId'] = 'net.yitu8.driver2' # 这里是你的包名
desired_caps['udid'] = '你机器的udid'
desired_caps['AutomationName'] = 'XCUITest'
desired_caps['xcodeOrgId'] = "填写你公司的开发者帐号"
desired_caps['xcodeSigningId'] = "iPhone Developer"
desired_caps['no-reset'] = True
# desired_caps['app'] = "/Users/woody/Downloads/DriverSide.ipa"
driver = webdriver.Remote(command_executor="http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_caps)
driver.find_element_by_name("行程").click()

配置信息的获取

deviceName: 这个大家看下自己的iPhone就知道了,比如我的设备比较low,还是iPhone 5,改成自己对应的就好了。

platformName: 这个自然不用讲,就是手机系统名,填ios

platformVersion: 这个是系统版本,比如我的是ios10.0.2,填写10.0.2

bundleId: 这个填写上一篇内容里安装好的,使用命令: ideviceinstaller -l

如果提示ideviceinstaller没找到的话,通过brew安装: brew install ideviceinstaller


image.png

AutomationName: 指定你的AutomationName,现在可以看到我们这边都是用的这个xcuitest,所以这里和我保持一致好啦。

xcodeOrgId: 这里填你的开发者帐号

-xcodeSigningId: 这里按照我给出的填

其他配置

no-reset: 因为app的测试是一套完整的流程,从安装app到测试完成到卸载app,但是我个人觉得iPhone上不太适合这一流程,因为iPhone不比安卓,都是自己自己安装apk,而且也主要是我这儿ipa安装有些问题,一直没有成功,只能先这样了。之后再研究,我在appium的github看到过无数此类issue,有说appium版本问题的,也有其他说法的。总之这里就填True啦

newCommandTimeout 这个配置可以加入超时时长,方便调试。默认值是60

启动app

ios手机插上USB数据线

这个不必多说了,记得信任此电脑

启动appium服务

如果环境没有问题的话,在终端输入:

appium --no-reset -p 4723 --session-override

no-reset参数刚才讲过了,是防止appium删除你的app

-p是设置appium服务的端口号, 我这设置的是4723

session-override 带上这个参数的话,每次脚本视图启动一个会话的时候都会覆盖上一个会话

运行测试脚本

执行你的Python代码就好啦。


image.png

这个服务也别忘了开启哦~~


image.png

手机上成功打开了应用~~

如果有不懂的欢迎大家留言咨询我愿效犬马之劳