[图片上传中...(6.jpg-da06f5-1562575275935-0)]
1.必要库的安装
1.1 如果没有安装 过homebrew,请先安装
/usr/bin/ruby -e "$(curl –fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1.2 如果没有安装过npm及node.js,请先安装
brew install npm
此命令执行后,npme和node.js会全部安装完毕
1.3 安装依赖库
brew install libimobiledevice --HEAD
npm install -g ios-deploy #如果是iOS10以上的系统才需要安装
如果没有安装 libimobiledevice,会导致Appium无法连接到iOS的设备,所以必须要安装,如果要在iOS10+的系统上使用appium,则需要安装ios-deploy
1.4 appium-doctor 安装
npm install appium-doctor -g
安装后执行appium-doctor --ios指令,可以查看与iOS相关配置是否完整
1.5 安装carthage
brew install carthage
2. webdriverAgent安装与配置
2.1安装webdriverAgent
2.1.1 在github上下载最新webdriverAgent代码
git clone https://github.com/facebook/WebDriverAgent
2.1.2 下载依赖
cd /Users/yourname/WebDriverAgent
sh ./Scripts/bootstrap.sh
该脚本会使用Carthage下载所有的依赖,使用npm打包响应的js文件。执行完成后,直接双击打开WebDriverAgent.xcodeproj这个文件。
2.2 配置webdriverAgent
2.2.1 配置WebDriverAgentLib,选择开发者账号
![1]
2.2.2 配置WebDriverAgentRunner,选择开发者账号
![2]
2.3 连接并选择自己的iOS设备,运行
3.jpg 4.jpg 5.jpg运行成功后,iphone手机上会新建一个无图标的WebDriverAgent的应用,自动打开后马上又返回桌面。而在xcode控制台会打印如下日志:里面有IP地址与端口号
![6] 6.jpg
在网址上输入http://(ip地址):(端口号)/status,如果网页上返回一些json格式的数据,说明运行成功http://192.168.6.50:8100/status
而如果是想查看UI的图层,则可访问http://192.168.6.50:8100/inspector
3. webdriverAgent安装与配置
3.1下载最新版本的Appium-Desktop并且安装
https://github.com/appium/appium-desktop/releases/tag/v1.2.0-beta.1
3.2运行Appium-Desktop并且开启start server
9.jpg 10.jpg3.3进入到Appium中的WebDriverAgent目录,目录路径如下
(/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/)
3.4 将自己下载并编译后的WebDriverAgent替换Appium原有的WebDriverAgent
4. 利用Appium-Python-Client进行iOS的自动化测试
4.1安装python
brew install python
4.2安装appium的python依赖库
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
4.3打开测试的项目文件,在项目的根目录执行编译指令,编译出一个app文件,命令行如下:
xcodebuild -sdk iphoneos -target 项目名 -configuration Release
编译成功后app文件的地址就会打印在命令行中(在4.4步骤中,.py文件中需要)
4.4在目录下创建python文件创建的文件名以.py结尾(例如:test.py),格式可以参考如下:
# -*- coding: utf-8 -*-
from time import sleep
from appium import webdriver
desired_caps = {}
desired_caps['automationName'] = 'XCUITest' # Xcode8.2以上无UIAutomation,需使用XCUITest
desired_caps['platformName'] = 'iOS'
desired_caps['platformVersion'] = '12.2'
desired_caps['deviceName'] = 'iPhone 6 Plus'
desired_caps['bundleId'] = 'com.analysys.EGAnalyticsDemo'
desired_caps['udid'] = 'c4635fedb9ad6c14f829f8b5cd0a8c8096139ef9'
desired_caps['newCommandTimeout'] = 3600 # 1 hour
# 打开Appium服务器,start server后,尝试启动被测App
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
sleep(60)
driver.quit()
网友评论