安装配置Appium环境
安装appium
安装appium有两种方式,一种是通过命令行终端方式,一种是Appium Desktop。这里推荐使用Appium Desktop方式,只需下载下来安装就可以啦。Appium Desktop下载
安装驱动
根据被测应用平台选择不同的驱动,这里在Xcode9上测试iOS,选择XCUITest Driver。这是实现自动化测试很重要的一步。驱动其实也集成在了Appium Desktop中,不需单独安装,但运行环境需要搭好。
1.iOS设备系统必须是iOS9.3及以上
2.macOS系统必须是10.11或10.12
3.Xcode版本为Xcode8及以上
4.Appium版本为1.6及以上
5.安装所需依赖库,包括:a.node (brew install node)
b.npm (brew install npm)
c.carthage (brew install carthage)
d.libimobiledevice(真机测试需要)(brew install libimobiledevice)
e.ios-deploy(真机测试需要)(brew install ios-deploy)
确定所有依赖是否安装成功,可通过appium-doctor验证,首先安装appium-doctor(npm install -g appium-doctor),然后在终端运行appium-doctor,如图所示,都是打钩状态就证明环境正常(java相关环境不需要配置。
更新Appium中的WebDriverAgent
网上很多是到WebDriverAgent下载最新版本的WebDriverAgent,然后配置替换Appium路径下的WebDriverAgent(/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/),但真机测试一启动导致App反复重启。
这里是不用替换,直接用appium自带的WebDriverAgent,进行相关配置即可。
- cd 进入appium的WebDriverAgent文件,路径:(/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/)
- 执行 ./Scripts/bootstrap.sh
直接用Xcode打开WebDriverAgent.xcodepro文件
- 配置WebDriverAgentLib和WebDriverAgentRunner的证书
- 连接并选择自己的iOS设备,然后按Cmd+U,或是点击Product->Test
- 运行成功时,在Xcode控制台应该可以打印出一个Ip地址和端口号
- 在网址上输入http://192.168.2.101:8100/status,如果网页显示了一些json格式的数据,说明运行成功。
最后一步这里在电脑浏览器访问真机ip时,一直报超时。在网上找到了答案,说国产机通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上。
安装iproxy工具,用法非常简单?iproxy?<local?port><remote?port>?[udid]。端口转发后,浏览器访问?http://localhost:8100/status会看到一个json字符串,即说明WebDriverAgent安装成功。
启动Appium Desktop,开始测试!
运行Appium-Desktop
开启start server
点击start new session并且在Desired Capabilities 中输入相关的参数后点击Start Session
运行成功后,会弹出一个控制界面,在该界面中可以控制手机上正在运行的程序
利用Appium-Python-Client进行iOS的自动化测试
1.首先在终端安装,python install Appium-Python-Client,如果是python3,就用python3 install Appium-Python-Client
2.在git上下载测试文件测试demo
3.用下载的demo配置好证书,直接安装到手机上
4.找到demo下文件下的appiumSimpleDemo.py,编辑里面的参数udid,和bundleid,里面的app参数如果已经把demo安装到手机的话,可以注释掉;省得去编译测试demo;
5.执行demo下文件下的appiumSimpleDemo.py,终端执行python appiumSimpleDemo.py(或python3 appiumSimpleDemo.py),就可以看到真机开始自动执行测试代码