標籤:技術 擷取 xctest function drive web use 中文 art
macaca-java for ios 自動化環境搭建
基礎原理解析:https://testerhome.com/topics/6608
一、環境搭建
1、安裝eclipse; -----Java開發調試工具 :https://www.eclipse.org/downloads/ PS:java調試工具,可根據自身情況選擇不下載。
2、安裝node.js 中文網地址:http://nodejs.cn/ node.js安裝方式一: (1)安裝brew
/usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)" (2)安裝node
brew install node (3)驗證node安裝
驗證node安裝:node -v
驗證npm安裝:npm -v node.js安裝方式二: (1)安裝node
訪問node.js官網(https://nodejs.org/en/download/),下載安裝包,一鍵安裝; (2)驗證node安裝
node -v npm -v 3、安裝xcode
進入https://developer.apple.com/download/more/網站找到要下載版本的xcode(xcode安裝需要8.3或更高的版本),下載安裝。
PS:可以在appstore上下載xcode,但只支援最新版本。 4、安裝usbmuxd ----通過 USB 通道測試 iOS 真機
brew install usbmuxd
5、安裝ios-webkit-debug-proxy ----被測試應用中包含webview時安裝
brew install ios-webkit-debug-proxy 6、安裝ios-deploy 裝包工具
npm i ios-deploy -g 7、安裝carthage
brew install carthage
PS:Macaca XCTestWD 的代碼管理使用carthage
8、安裝macaca
npm i -g macaca-cli ----macaca命令集
npm i -g macaca-ios ----macaca-ios自動化驅動
macaca doctor ----檢查macaca環境 8、安裝inspector
npm i app-inspector -g
PS:卸載命令:npm uninstall app-inspector -g 9、安裝maven
brew install maven 10、下載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的關聯配置這裡不做介紹,如果後續有需求會補充到此文檔。 11、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檔案。
二、模擬器運行
1、啟動macaca server macaca server --verbose
2、執行用例
建立視窗進入macaca Java的demo工程根目錄命令列執行:mvn test
三、inspector使用
1、啟動macaca server macaca server --verbose
2、擷取device 的udid 裝置的udid擷取方式如下:
(1)模擬器擷取裝置udid:xcrun simctl list ; (2)查看模擬器&串連裝置udid:instruments-s ; (3)串連裝置udid:xcode查看Hardware ->devices -> manage devices 。
3、運行webdriver
開啟xcode,選擇WebDriverAgentRunner target,將webdriver運行到串連的裝置上。
4、launch
app-inspector -u YOUR-DEVICE-ID --verbose
5、使用inspector元素尋找工具 瀏覽器開啟:http://current_ip:5678或http://localhost:5678
四、真機運行
1、串連裝置
MAC串連能運行測試包的裝置
2、啟動macaca server
macaca server --verbose
3、修改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的程式碼片段:
4、執行用例
建立視窗進入macaca Java的demo工程根目錄命令列執行,命令如下:
全部case運行:mvn test 單條case運行:mvntest-Dtest=packagename.classname(mvntest-Dtest=*****.cases.baseline.offline.function.Test_21674
1)
iOS自動化環境搭建——macaca