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)