你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> macOS10.12下如何絲滑的使用appium?

macOS10.12下如何絲滑的使用appium?

編輯:IOS開發基礎

1、下載或者更新Homebrew:homebrew官網 macOS 不可或缺的套件管理器

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  #下載
$ brew update #更新
$ brew -v
Homebrew 1.1.5
Homebrew/homebrew-core (git revision e151b; last commit 2016-12-26)

2、使用homebrew來安裝Node.js : Node.js教程 node采用C++編寫,是一個JavaScript的運行環境,因為JS是腳本語言需要一個解析器才能運行,對於寫在HTML頁面的JS,浏覽器本身就是解析器,對於需要單獨運行的JS,Node.js就是解析器。

$ brew install node
$ node -v
v7.3.0

3、安裝npm: NPM 使用介紹 是一個NodeJS包管理和分發工具,已經成為了非官方的發布Node模塊(包)的標准。

$ brew install npm11

4、使用npm來安裝appium,2017/01/03目前最新的版本是 1.6.3 ,當然也可以在 Macos下bitbucket下載appium客戶端,但是坑人的是最新版本是 1.5.3 支持的還只是 iOS10 以下的 UIAutomation 框架基礎上測試,而 iOS10 以後蘋果使用的卻是基於 XCUITest ,所以只能采用npm安裝咯。但是因為國內牆太高而使用npm卻是從國外服務器下載,有時候使用npm需要非常長的時間,更多時候是失敗,推薦使用cnpm來安裝:淘寶 NPM 鏡像 10分鐘同步npmjs.org鏡像,使用方式和npm完全一致

$ npm install cnpm -g --registry=https://registry.npm.taobao.org
$ npm view appium versions #查看appium所有的版本號

5、使用cnpm安裝appium和appium-doctor:

$ cnpm install -g appium --no-cache
$ cnpm install -g appium
$ cnpm install -g appium-doctor123123

6、檢查appium環境檢測:

19.png

常見問題解決:

? Xcode Command Line Tools are NOT installed!
$ xcode-select --install   #按照提示安裝即可

? Carthage was NOT found!
$ brew install carthage       #carthage:類似cocoapods管理第三方代碼,自動將工程編譯為動態庫,所以僅支持iOS8以上

WARN AppiumDoctor  ? ANDROID_HOME is NOT set!
但是建議安裝安裝編譯器,可以解決其他Android環境的其他問題 AndroidStudio(https://developer.android.com/studio/index.html?hl=zh-cn)
設置 ANDROID_HOME 路徑:
http://stackoverflow.com/questions/19986214/setting-android-home-enviromental-variable-on-mac-os-x
設置 JAVA_HOME 路徑:
http://stackoverflow.com/questions/6588390/where-is-java-home-on-osx-sierra-10-12-el-captain-10-11-yosemite-10-10


JAVA_HOME問題:
當前最新JDK版本下載地址 Java SE Development Kit 8u111 (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

.bash_profile文件:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
export ANDROID_HOME=/Users/denglibing/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:${JAVA_HOME}/bin

7、安裝appium客戶端,上面的操作只是安裝了server端,接下來需要安裝測試代碼運行所依賴的客戶端,我們以Python為例:

git clone  
cd python-client-master 
sudo python setup.py install123123

8、對於 iOS10 以上的測試,需要下載安裝 appium-xcuitest-driver 驅動:Appium iOS driver, backed by Apple XCUITest , 當然也可以在 /usr/local/lib/node_modules/appium/node_modules/.2.5.1@appium-xcuitest-driver/WebDriverAgent/ 找到該項目,執行 carthage update , 選擇 WebDriverAgentRunner 編譯即可。

其他相關的安裝:

$ brew install libimobiledevice --HEAD  # install from HEAD to get important updates
$ brew install ideviceinstaller         # 只是對iOS9有用

$ npm install -g ios-deploy                # iOS10 以後的版本安裝ios-deploy
$ sudo gem install xcpretty            # 真機需要安裝 xcpretty

9、下載測試代碼並且測試,官網上的測試代碼坑很多,這個問題我困擾我好久。一開始還以為是自己那個環境出問題還是流程不對,結果真的只是官網測試代碼本身問題,當然可以自己編寫代碼測試咯,也可以下載我的一個簡單的 erduoniba/appium_ios_sample_code

先執行模擬器的測試

$ cd sample-code/apps/HHH

#在sample-code/apps/HHH/build/Release-iphonesimulator/得到HHH.app包
$ xcodebuild -sdk iphonesimulator
Build settings from command line:
    SDKROOT = iphonesimulator10.2

=== BUILD TARGET HHH OF PROJECT HHH WITH THE DEFAULT CONFIGURATION (Release) ===
...
...
...
Signing Identity:     "-"

    /usr/bin/codesign --force --sign - --timestamp=none /Users/denglibing/Desktop/sample-code/apps/HHH/build/Release-iphonesimulator/HHH.app
** BUILD SUCCEEDED **


$ cd sample-code/examples/python
$ python ios_simple_simulator.py
test_scroll (__main__.SimpleIOSTests) ... ok

----------------------------------------------------------------------
Ran 1 test in 30.421s

OK

對於真機,可能要麻煩些,安裝 appium-xcuitest-driver 驅動後,生成在真機上運行的包:

參考資料可以看官網的說明 部署ios-app-到手機上

# 在 apps/HHH/build/Release-iphoneos/HHH.app 得到 release 包
$ xcodebuild -sdk iphoneos -target HHH -configuration Release CODE_SIGN_IDENTITY="iPhone Distribution: Shenzhen XXXX Technology Co., Ltd. (B9FH944VTE)" 
PROVISIONING_PROFILE="08f04032-ca2e-4bb5-b1ba-c32778115f2e"123123

關於怎麼設置 CODE_SIGN_IDENTITY 和 PROVISIONING_PROFILE 如何查看 ,可以選擇下圖所示的 Development Team 一行, control+c 然後 復制出去即可

接下來連上真機 執行測試用例代碼:

$ cd sample-code/examples/python
$ python ios_simple_device.py
test_scroll (__main__.SimpleIOSTests) ... ok

----------------------------------------------------------------------
Ran 1 test in 30.421s

OK

10:一些很有幫助的資料

很好的論壇 https://testerhome.com 
appium源碼地址: https://github.com/appium/appium 
appium官網地址:http://appium.io/ 
appium中文說明文檔:http://appium.io/slate/cn/master/?ruby#about-appium

11、心得:

整體的流程其實不多,但是在macOS10.12搭建appium的環境及測試整個過程著實煩躁,有時候一個小問題就卡1-2天也不好說,而且官網上的文檔和測試代碼已經部分誤導我走了非常多的歪路。比如

11.1、開始使用 appium1.5.3的mac客戶端,雖然在macOS10.12上也有些問題,確實畢竟GUI用起來非常方便,可惜是基於 UIAutomation 框架來的,然後在iOS10中已經使用了新的框架 XCUITest ,只能廢棄;

11.2、關於appium如果搭建啊,進行測試啊相關的文章其實不少,有中文的也有英文的,可能是作者在那個時候測試兼容過,但是iOS10上真的很多是誤導了,而且搭建的流程我不建議閱讀 appium中文說明文檔 ,畢竟年代太久遠了。倒是可以在 appium源碼地址 上多多發現類似的問題或者多多提問,作者及團隊人員很熱血

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved