移动端IOS自动化测试框架搭建-无坑
1 基礎環境安裝
1.1?? Homebrew安裝
在mac上安裝Homebrew用官方命令一直不成功,嘗試用國內的鏡像安裝的過程如下:
1.將安裝brew的文件下載到本地
cd ~ && curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install
2.修改安裝文件內的鏡像源(BREW_REPO和CORE_TAP_REPO)
BREW_REPO = "git://mirrors.ustc.edu.cn/brew.git".freeze
?CORE_TAP_REPO = "git://mirrors.ustc.edu.cn/homebrew-core.git".freeze
?
3.執行安裝
/usr/bin/ruby ~/brew_install
注:
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...沒響應
出現這個原因是因為源不通,代碼來不下來,解決方法就是更換國內鏡像源:
執行下面這句命令,更換為中科院的鏡像:
git clone git://mirrors.ustc.edu.cn/homebrew-core.git/ /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1
4. 修改PATH變量--未成功
$ vim /etc/profile
在打開的profile文件中加入下面這一行?export PATH=/usr/local/bin:$PATH ? 有local?
執行下面一條命令,使得剛才的更改立即生效:$ source /etc/profile
5. 驗證
brew doctor
6. 修改brew源為國內源
依次執行以下命令:
$ cd "$(brew --repo)"
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
$ brew update
Homebrew安裝成功后,會自動創建目錄 /usr/local/Cellar 來存放Homebrew安裝的程序。 這時你在命令行狀態下面就可以使用 brew 命令了
1.2 安裝 Xcode, Command Line Tools
appstore安裝xcode
1.3?安裝 Jdk
Oracle 官網下載 Jdk
雙擊下載的 .dmg 文件,拖拽至 Application 安裝。
vim ~/.bash_profile
export ANDROID_HOME=/Users/amandama/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/28.0.1
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
修改好執行??source .bash_profile 生效
JAVA_HOME根據具體實際路徑填寫,jdk1.8.0_161.jdk 注意替換
1.4 安裝 android-sdk
1.建議直接安裝安卓開發工具來安裝安卓sdk,安裝sdk成功后配置環境變量
vim ~/.bash_profile?
export ANDROID_HOME=/Users/amandama/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/28.0.1
具體路徑,修改好執行??source .bash_profile 生效,?根據實際安裝后填寫。
1.5??安裝 Node.js??
?( Node.js?就是運行在服務端的 JavaScript)
在終端輸入命令:brew install node?并回車,將默認安裝 Node.js 最新版本,如需安裝制定版本,可到官網 https://nodejs.org/en/download/?下載對應版本 .pkg 包安裝。
安裝完成后,使用命令?node -v?和?npm -v?查看版本,檢查是否安裝成功
MadeMacBook-Pro:~ $ node -v
v11.10.0
MadeMacBook-Pro:~ $ npm -v
6.7.0
配置 npm 淘寶源:(npm?是 JavaScript 世界的包管理工具,并且是 Node.js 平臺的默認包管理工具。通過?npm?可以安裝、共享、分發代碼,管理項目依賴關系)
終端使用命令:npm config set registry?https://registry.npm.taobao.org?
檢查是否配置成功使用命令:npm config get registry(返回這個成功 ?https://registry.npmjs.org/)
npm 全局安裝 appium,使用命令(默認安裝最新版本):
npm config set registry?https://registry.npm.taobao.org?
npm?install?appium?-g?--chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
? ? > appium-chromedriver@4.10.1 install /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver
? ? > node install-npm.js
安裝 appium 完成后,繼續安裝 appium-doctor
npm install appium-doctor@1.6.0 -g (不建議安裝1.7.0)
? ? ? ?/usr/local/bin/appium-doctor -> /usr/local/lib/node_modules/appium-doctor/appium-doctor.js
? ? ? + appium-doctor@1.6.0
1.6 安裝真機環境相關依賴
(libimobiledevice--ibimobiledevice又稱libiphone,是一個開源包,可以讓Linux支持連接iPhone/iPod Touch等iOS設備)
(usbmuxd將依賴于TCP/IP的命令的被連接方,通過本地端口映射。用usb連接代替了網絡連接,使得在沒有網絡的情況下也可以連接設備。)
(mac下進行cordova項目編譯部署到ios設備,這個時候需要安裝ios-deploy)
(iOS開發中有一個非常優秀的圖表類開源庫叫Charts,但是當你下載后想正常運行該demo時需要先安裝Carthage。)
brew update?
brew uninstall --ignore-dependencies libimobiledevice??
brew uninstall --ignore-dependencies usbmuxd??
brew install --HEAD usbmuxd??
brew unlink usbmuxd??
brew link usbmuxd??
brew install libimobiledevice --HEAD
npm?install?-g?ios-deploy
brew install Carthage? ? ? ??
brew upgrade carthage
? ? ? ? carthage 0.32.0 already installed
注:
npm?install?-g?ios-deploy 安裝失敗,輸入xcodebuild 驗證xcode安裝是否正確
終端輸入xcode-select -print-path 檢查xcode安裝位置:/Library/Developer/CommandLineTools
升級xcode后,不是系統默認位置,需要修改為:
sudo xcode-select --switch?/Applications/Xcode.app/Contents/Developer
執行?xcodebuild,可以執行命令,不報異常
執行?sudo npm install -g ios-deploy --unsafe-perm=true
/usr/local/bin/ios-deploy -> /usr/local/lib/node_modules/ios-deploy/build/Release/ios-deploy
+ ios-deploy@1.9.4
?安裝成功!
appium-doctor –ios 檢查環境是否ready
2 IOS?WebDriverAgent配置
(安裝app自動化測試驅動)
安裝git: brew install git
git/2.21.0
Emacs Lisp files have been installed to:
? /usr/local/share/emacs/site-lisp/git
拉取WebDriverAgent代碼:上?https://github.com/XXX(你的github帳號)下載master
cd WebDriverAgent-master/
mkdir -p Resources/WebDriverAgent.bundle?
sh ./Scripts/bootstrap.sh -d? 或者用sh ./Scripts/bootstrap.sh (不要-d)
配置證書
Xcode打開WebDriverAgent-master目錄下的WebDriverAgent.xcodeproj文件。
配置WebDriverAgentLib:
配置WebDriverAgentRunner:
運行與測試
iphone手機連接Mac, 設置信任: 設置-通用-描述文件與設備管理-開發者應用
Xcode:Product→Destination→選擇連接的真機
? ? ? ? ? ? ?Product--Schema--選擇WebDriverAgentRunner
? ? ? ? ? ? ?Product--Test
如果順利,則WDA安裝到手機端,Xcode控制臺輸出log:
打開控制臺方法:選擇view->Debug Area->Activate console
控制臺會輸出IP地址和端口:http://10.10.33.145:8100/status,輸入瀏覽器,確認WDA是否運行成功
3 appium IOS?安裝和配置
Appium-Server下載地址:Releases · appium/appium-desktop · GitHub
安裝for mac最新版 1.10.0
配置參數
{"platformName": "iOS","platformVersion": "12.1.4","udid": "00008020-00147984XX08002E","deviceName": "LXiphoneXSmax","automationName": "XCUITest","bundleId": "com.lx.blackXXX.app","app": "/Users/amandama/Downloads/pywork/BFCredit.ipa" }??:如果不想自己安裝包,可以把app字段去掉,直接啟動已安裝好的app來查找元素。
appium無法識別設備,重裝一遍:brew install libimobiledevice --HEAD
appium中更改配置參數,去掉app:
{ "platformName": "iOS", "platformVersion": "12.1.4", "udid": "00008020-00147984XX08002E", "deviceName": "LXiphoneXSmax", "automationName": "XCUITest", "bundleId": "com.xhy.blackXXX.app" }
??:以上bundleId要寫已安裝在真機的app對應的Id
啟動Session,成功識別!appium環境配置完成!
4?ios真機自動化用例編寫
4.1 基于robotframework自動化用例編寫【appium】
環境搭建
安裝pip:?sudo easy_install pip
安裝robotframework基礎環境:
robot framework安裝???? pip命令 ?sudo?pip install robotframework==3.0?-i?Simple Index?--trusted-host?mirrors.aliyun.com?
wxPython安裝(用于支持robotframework的IDE?ride)需要使用?wxPython-unicode-2.8.12.1版本即可???
具體文件見網盤,硬盤
鏈接:百度網盤 請輸入提取碼??密碼:ovyz
先執行sudo pip install -U wxPython?-i?Simple Index?--trusted-host?mirrors.aliyun.com
然后刪除site-package里面的wx* ? ?rm -rf?/Library/Python/2.7/site-packages/wx*
然后如下操作一下。
sudo?cp?~/Downloads/wxredirect.pth /Library/Python/2.7/site-packages/?
sudo?mkdir?/usr/local/lib?
sudo?cp?-r ~/Downloads/wxPython-unicode-2.8.12.1/ /usr/local/lib/wxPython-unicode-2.8.12.1/?
defaults?write?com.apple.versioner.python Prefer-32-Bit -bool?yes?
export VERSIONER_PYTHON_PREFER_32_BIT=yes
robotframework-ride安裝?? pip命令:?sudo?pip install robotframework-ride?-i?Simple Index?--trusted-host?mirrors.aliyun.com?
Appium-Python-Client安裝?? pip命令: sudo?pip install Appium-Python-Client?-i?Simple Index?--trusted-host?mirrors.aliyun.com?
robotframework appiumlibrary安裝??pip命令:sudo?pip install robotframework-appiumlibrary?-i?Simple Index?--trusted-host?mirrors.aliyun.com
sudo?pip install --upgrade robotframework-httplibrary?-i?Simple Index?--trusted-host?mirrors.aliyun.com
sudo?pip install --upgrade?robotframework-databaselibrary?-i?Simple Index?--trusted-host?mirrors.aliyun.com
sudo?pip install ?robotframework-selenium2library?-i?Simple Index?--trusted-host?mirrors.aliyun.com
sudo?pip install --upgrade?robotframework-sshlibrary?-i?Simple Index?--trusted-host?mirrors.aliyun.com
sudo?pip install --upgrade?requests?-i?Simple Index?--trusted-host?mirrors.aliyun.com
如果有不成功的安裝時添加參數:--upgrade?--ignore-installed six?
確認appiumlibrary是否安裝成功
先運行ride,命令行輸入ride.py
然后導入AppiumLibrary若顯示導入三方庫為黑色則說明安裝成功
可以開始robotframework的用例編寫了
4.2 采用python+pytest+allure+Jenkins 這套框架
安裝pip:?sudo easy_install pip
pip install -U pytest? ? //安裝 python2.7
pip3 install pytest? ? ? //安裝python3
命令安裝?pip3 install Appium-Python-Client
Installing collected packages: urllib3, selenium, Appium-Python-Client
Successfully installed Appium-Python-Client-0.38 selenium-3.141.0 urllib3-1.24.1
注意:pytest專業版 激活方法: sudo vim /etc/hosts?
? ? ? ? ? ? 添加?0.0.0.0 account.jetbrains.com
? ? ? ? ? ?打開PyCharm選擇Activation code激活,然后復制下面的激活碼點擊激活。此激活碼有效期為2019-05-04
如果是mac:brew install allure
安裝pytest以及allure包:
pip install pytest
pip install pytest-allure-adaptor
寫完testcase后,生成報告:
py.test --alluredir=reports
allure generate reports
總結
以上是生活随笔為你收集整理的移动端IOS自动化测试框架搭建-无坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos操作系统镜像文件下载
- 下一篇: iOS下Safari自动化测试