macaca-java for ios 自动化环境搭建java
基础原理解析:https://testerhome.com/topics/6608node
1、环境搭建ios
一、安装eclipse; -----Java开发调试工具 下载地址:https://www.eclipse.org/downloads/ PS:java调试工具,可根据自身状况选择不下载。git
二、安装node.js 中文网地址:http://nodejs.cn/ node.js安装方式一: (1)安装brewgithub
/usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)" (2)安装nodeweb
brew install node (3)验证node安装npm
验证node安装:node -vbootstrap
验证npm安装:npm -v node.js安装方式二: (1)安装nodexcode
访问node.js官网(https://nodejs.org/en/download/),下载安装包,一键安装; (2)验证node安装浏览器
node -v npm -v 三、安装xcode
进入https://developer.apple.com/download/more/网站找到要下载版本的xcode(xcode安装须要8.3或更高的版本),下载安装。
PS:能够在appstore上下载xcode,但只支持最新版本。 四、安装usbmuxd ----经过 USB 通道测试 iOS 真机
brew install usbmuxd
五、安装ios-webkit-debug-proxy ----被测试应用中包含webview时安装
brew install ios-webkit-debug-proxy 六、安装ios-deploy 装包工具
npm i ios-deploy -g 七、安装carthage
brew install carthage
PS:Macaca XCTestWD 的代码管理使用carthage
八、安装macaca
npm i -g macaca-cli ----macaca命令集
npm i -g macaca-ios ----macaca-ios自动化驱动
macaca doctor ----检查macaca环境 八、安装inspector
npm i app-inspector -g
PS:卸载命令:npm uninstall app-inspector -g 九、安装maven
brew install maven 十、下载iOS自动化框架代码
下载SVN上的iOS自动化框架代码,路径:https://******/product/qa-platform/automation/iOSMacaca/ios_a utomation/;
进入工程目录;
安装工程依赖库:mvn -s settings.xml clean install -DskipTests
若是下载依赖过程当中报错,多是因为mvn -s命令没有生效致使的,建议将根目录下settings.xml中的依赖配置到本地Maven目录下的settings.xml中
本地目录:/usr/local/Cellar/maven/3.3.9/libexec/conf
PS:eclipse与maven的关联配置这里不作介绍,若是后续有需求会补充到此文档。 十一、xctestwd配置
macaca的webdriver存在两个,一个为app-inspector调试须要,一个为iOS自动化须要,路径分别为: /usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD/XCTestWD.xcodeproj
----app-inspector启动须要配置
/usr/local/lib/node_modules/macaca-ios/node_modules/xctestwd/XCTestWD/XCTestWD.xcodeproj ----ios自 动化须要配置
macaca的两个webdriver配置相同,下面会主要以macaca-ios为例来介绍配置: (1)安装证书,证书下载地址:https://*******/iQIYITest/product/qa-platform/automation/iOSMacaca/identifier/
ios_automation.p12 (证书密码:123456); (2)下载profile,profile下载地址:https://*******/product/qa-platform
/automation/iOSMacaca/identifier/ios_automation.mobileprovision; (3)使用xcode打开/usr/local/lib/node_modules/macaca-ios/node_modules/xctestwd/XCTestWD/XCTestWD.xcodeproj工程文件; (4)配置XCTestWD,选择XCTestWD target,配置Gerneral中的sign以及Build Settings中的signing,具体见下图:
(5)配置
XCTestWDUITests,选择XCTestWDUITeststarget,配置Gerneral中的sign以及Build Settings中的signing,具体见下图:
(6)使用xcode打开/usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD/XCTestWD.xcodeproj工程文件,分别按 照(4)(5)进行配置。
PS:若是设备不可用,没法将xctestwd安装到设备上请自行更新profile文件。
2、模拟器运行
一、启动macaca server macaca server --verbose
二、执行用例
新建窗口进入macaca Java的demo工程根目录命令行执行:mvn test
3、inspector使用
一、启动macaca server macaca server --verbose
二、获取device 的udid 设备的udid获取方式以下:
(1)模拟器获取设备udid:xcrun simctl list ; (2)查看模拟器&链接设备udid:instruments-s ; (3)链接设备udid:xcode查看Hardware ->devices -> manage devices 。
三、运行webdriver
打开xcode,选择WebDriverAgentRunner target,将webdriver运行到链接的设备上。
四、launch
app-inspector -u YOUR-DEVICE-ID --verbose
五、使用inspector元素查找工具 浏览器打开:http://current_ip:5678或http://localhost:5678
4、真机运行
一、链接设备
MAC链接能运行测试包的设备
二、启动macaca server
macaca server --verbose
三、修改java代码中的运行配置
目前的运行配置以macaca提供的demo为例。
(1)修改工程文件中的bootstrap/src/test/java/com/javademo/utils/Config.java文件以便于能够真机运行,如下为Config.java文件中的 代码片断:
// ios平台相关信息
publicstaticfinalString IOS_PLATFORM_NAME ="iOS";
publicstaticfinalString IOS_DEVICE_NAME ="Ranli1"; //链接设备的name
publicstaticfinalString IOS_APP = RootPath + File.separator +"app/iQiYiPhoneVideo.app_2017-01-15_18-52.zip";
包的路径,请放置开发包
publicstaticfinalString IOS_UDID ="40911ef567d57fcff5813d774fdeb108eaefde1b"; //链接设备的udid publicstaticfinalString IOS_BUNDLE_ID ="************"; //测试安装包的bundle id
(2)修改工程文件中的bootstrap/src/test/java/com/javademo/cases/BaseTest.java 文件以便于Config.java文件中配置的设备信息何以传递到server,如下为BaseTest.java的代码片断:
四、执行用例
新建窗口进入macaca Java的demo工程根目录命令行执行,命令以下:
所有case运行:mvn test 单条case运行:mvntest-Dtest=packagename.classname(mvntest-Dtest=*****.cases.baseline.offline.function.Test_21674
1)