天天看點

Appium自動化測試架構研究(2)——搭建IOS環境

今天的文章講iOS的Appium環境搭建。

  今天的文章講iOS的Appium環境搭建。

  對于iOS而言,隻能在Mac筆記本上安裝Appium,以及所需要的各種元件。

  也許有人會問,能否在Windows系統上使用Appium測試iOS手機,這不就不用花錢買Mac了嗎?答案是不可以,因為Appium的本質是把我們編寫的自動化測試腳本,翻譯成Mac中UIAutomator的腳本,是以隻能Mac來做,Windows系統搞不定。但是,你可以裝黑蘋果來解決這個問題。

  我們這篇文章不提黑蘋果,而是介紹怎麼在mac筆記本上安裝能運作iOS自動化測試的appium。

  以下的6個步驟,在上一篇文章我們已經介紹過,請參考上一篇文章。。

     1)安裝Node。

     2)使用Node下載下傳Appium Server。

     3)下載下傳并安裝Appium Desktop.

     4)下載下傳并安裝Python 3。

     5)使用pip下載下傳Appium Client。

     6)安裝Appium Doctor。

  為什麼說iOS支援Appium麻煩呢,因為還要執行下列的步驟:

     1)安裝最新版的XCode,去App Store下載下傳并安裝最新版即可

  要確定XCode的版本和IPhone的版本是相容的,否則就更新系統。

      2)安裝Xcode Command Line Tools

      到官網下載下傳Command Line Tools,這哥們之前是和XCode捆在一起安裝的,後來分家單過了,是以要去Developer Apple官網單獨下載下傳并安裝,下載下傳位址是:

       https://developer.apple.com/download/more/

Appium自動化測試架構研究(2)——搭建IOS環境

  不要嘗試使用xcode-select ––install,會失敗的。

     3)安裝homebrew,用于mac系統的軟體包下載下傳。執行以下腳本:

/usr/bin/ruby -e "$(curl –fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

     4)安裝carthage,用于依賴管理,執行以下指令:

brew install carthage

    5)安裝 libimobiledevice,用于Appium連接配接iOS的裝置

brew install libimobiledevice –HEAD –g

    6)安裝ideviceinstaller,用于管理安裝在手機上的App:

brew install ideviceinstaller –g

    如果執行這個指令報錯,如下所示:

    Could not connect to lockdownd. Exiting.

 解決辦法就是,增加lockdown的權限,執行下面的指令即可:

    sudo chmod –R 777 /var/db/lockdown

    7)安裝ios-deploy,iOS10以上的系統才需要安裝

    npm install -g ios-deploy

    8)設定WebDriverAgent項目的Signing

    Appium對iOS的支援,是通過WebDriverAgent來實作的,這是Facebook開源的一個項目,内置在Appium Desktop中,位于下面的路徑:

    /Application/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj

  但是我們安裝了Appium後,并不能指定它内置的WebDriverAgent的開發者賬号,是以要進入這個目錄,手動進行設定。

  用XCode打開WebDriverAgent.xcodeproj,然後配置兩個Targets,一個是WebDriverAgentLib,另一個是WebDriverAgentRunner,配置Signing,設定Team為開發者賬号即可。

Appium自動化測試架構研究(2)——搭建IOS環境

       9)此外,我還遇到過錯誤資訊,說是Apple Developer開發者賬号需要有了新協定,需要我登陸上去點選同意,照它說的去做,登入到Apple Developer點選同意就好了。

  至此,在Appium上就可以運作iOS的自動化測試了,上述步驟缺一不可。可以說九九八十一難,一步一個坑,我為此整整折騰了三四天,才配置好。

      10)如果前面的功課都做完了,那appium基本就可以使用了。在執行appium-doctor指令時,會看到一些警告:

Appium自動化測試架構研究(2)——搭建IOS環境

      我們來逐一解決這些警告。

      1.opencv4nodejs cannot be found

  到官網下載下傳CMake并安裝,位址如下所示:

     https://cmake.org/download/

  把CMake的路徑添加到全局變量PATH中,如下所示:

     export CMAKE_ROOT=/Applications/CMake.app/Contents/bin/

     export PATH=$CMAKE_ROOT:$PATH

      最後執行指令:

       npm install opencv4nodejs 

       2. ffmpeg cannot be found

  解決方案:輸入brew install ffmpeg

       3. mjpeg-comsumer cannot be found

  解決方案:輸入npm i -g mjpeg-consumer

      4. idb and idb_companion are not installed

      執行以下指令

      brew tap facebook/fb

      brew install idb-companion

      pip3.7 install fb-idb

      注意pip3.7是我的python的版本号。可以去全局變量中檢查一下是否設定了pip的路徑,有的是3.6或别的版本。

      5. applesimutils cannot be found

     執行以下指令:

     brew tap wix/brew

     brew install applesimutils

      6. bundletool.jar cannot be found

  到https://github.com/google/bundletool/releases下載下傳bundletool.jar的最新版本,下載下傳到的這個jar的檔案名可能有帶版本号,無論是什麼,都改名為bundletool.jar。

  在前面建立的sdk目錄下,建立一個子目錄bundle-tool,把bundletool.jar放在這個子目錄下。

  給這個子目錄和這個jar檔案,增權重限。執行下面的腳本:

      chmod +x 

      chmod +x bundletool.jar

  在全局變量PATH中,增加bundletool.jar的路徑,如下所示:

     expert PATH=${PATH}:$ANDROID_HOME/bundle-tool

  在下一篇文章中,我将介紹電腦如何連接配接Android和iOS真機和模拟器,以及準備合适的DesiredCapabilities,進而在Appium中啟動App。