1. 程式人生 > >Appium之mac OS 10.12.5+Xcode 8.3.2 配置使用

Appium之mac OS 10.12.5+Xcode 8.3.2 配置使用

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採用C++編寫,是一個JavaScript的執行環境,因為JS是指令碼語言需要一個解析器才能執行,對於寫在HTML頁面的JS,瀏覽器本身就是解析器,對於需要單獨執行的JS,Node.js就是解析器。

$ brew install node
$ node -v
v7.3.0

3、安裝npm:

       NPM 使用介紹 是一個NodeJS包管理和分發工具,已經成為了非官方的釋出Node模組(包)的標準。

$ brew install npm

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-doctor

6、檢查appium環境檢測:

$ appium-doctor
info AppiumDoctor Appium Doctor v.1.4.2
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
WARN AppiumDoctor  ✖ Xcode Command Line Tools are NOT installed!
info AppiumDoctor  ✔ DevToolsSecurity is enabled.
info AppiumDoctor  ✔ The Authorization DB is set up properly.
info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ✔ Carthage was found at: /usr/local/bin/carthage
info AppiumDoctor  ✔ HOME is set to: /Users/denglibing
WARN AppiumDoctor  ✖ ANDROID_HOME is NOT set!
info AppiumDoctor  ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
WARN AppiumDoctor  ✖ adb could not be found because ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ android could not be found because ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ emulator could not be found because ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ Bin directory for $JAVA_HOME is not set
info AppiumDoctor ### Diagnostic completed, 6 fixes needed. ###
info AppiumDoctor 
info AppiumDoctor ### Manual Fixes Needed ###
info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:
WARN AppiumDoctor - Manually configure ANDROID_HOME.
WARN AppiumDoctor - Manually configure ANDROID_HOME and run appium-doctor again.
WARN AppiumDoctor - Add '$JAVA_HOME/bin' to your PATH environment
info AppiumDoctor ###
info AppiumDoctor 
info AppiumDoctor Bye, run appium-doctor again when all manual fixes have been applied!
info AppiumDoctor 

常見問題解決:

(1)、Xcode Command Line Tools are NOT installed!

$ xcode-select --install  

       按照提示安裝即可

(2)、Carthage was NOT found!

$ brew install carthage      

carthage:類似cocoapods管理第三方程式碼,自動將工程編譯為動態庫,所以僅支援iOS8以上

(3)、WARN AppiumDoctor ✖ ANDROID_HOME is NOT set!

       建議安裝Android編譯器,可以解決其他Android環境的其他問題

       設定 ANDROID_HOME 路徑:

       設定 JAVA_HOME 路徑:

(4)、JAVA_HOME問題:

       .bash_profile檔案:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
export ANDROID_HOME=/Users/yourname/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:${JAVA_HOME}/bin

7、安裝appium客戶端

       上面的操作只是安裝了server端,接下來需要安裝測試程式碼執行所依賴的客戶端,我們以python為例:

git clone https://github.com/appium/python-client
cd python-client-master 
sudo python setup.py install

8、安裝 appium-xcuitest-driver

       對於 iOS10 以上的測試,需要下載安裝 appium-xcuitest-driver 驅動:Appium iOS driver, backed by Apple XCUITest

       或者重新安裝 appium-xcuitest-driver (先解除安裝在重新安裝新版本2.5.3)

       原因:appium 預設安裝的appium-xcuitest-driver版本有點老,貌似是 2.4.0的版本,老的版本問題,執行測試的時候會提示

[debug] [WebDriverAgent] Device: Mar 29 15:29:21 Cheersde-iPhone XCTRunner[2848] <Notice>: Running tests...
[debug][WebDriverAgent] Device: Mar 29 15:29:22 Cheersde-iPhone XCTRunner[2848] <Notice>: Continuing to run tests in the background with task ID 1
[debug] [XCUITest] Waiting for WebDriverAgent server to finish loading...

       導致被測試的app launch不起來,一直卡在 [debug][XCUITest] Waiting for WebDriverAgent server to finish loading... 這塊

       而新的版本appium-xcuitest-driver 2.5.3 就解決了這個問題。

安裝方法:

cd /usr/local/lib/node_modules/appium   
npm uninstall appium-xcuitest-driver         先解除安裝
npm install appium-xcuitest-driver@2.5.3  重新安裝 2.5.3

       當然也可以在 /usr/local/lib/node_modules/appium/node_modules/[email protected]/WebDriverAgent/ 找到該專案,執行 carthage update , 選擇 WebDriverAgentRunner 編譯即可。

       但是這種方法很不方便,下面提供一種更簡單的的:

安裝appium-xcuitest-driver依賴

       進入WebDriverAgent安裝目錄。執行bootstrap
cd /usr/local/lib/node_modules/appium/node_modules/[email protected]@appium-xcuitest-driver/WebDriverAgent (如果WebDriverAgent 所在路徑和此不同,請自行查詢)

mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh -d

       在執行sh ./Scripts/bootstrap.sh -d很可能會有因為某種原因而網路連線失敗。方法就是去下載了一個VPN代理軟體,我下的是雲梯VPN,使用這個連結,我們都能優惠10元。

       再次執行sh ./Scripts/bootstrap.sh -d 無報錯就OK了

其他相關的安裝

$ 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、下載測試程式碼並且測試

       官網上的測試程式碼坑很多,這個問題我困擾我好久。一開始還以為是自己那個環境出問題還是流程不對,結果真的只是官網測試程式碼本身問題,當然可以自己編寫程式碼測試咯,也可以下載我找的一個簡單的 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"

       關於怎麼設定 CODE_SIGN_IDENTITYPROVISIONING_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:一些很有幫助的資料

11、心得:

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

相關推薦

Appiummac OS 10.12.5+Xcode 8.3.2 配置使用

1、下載或者更新Homebrew:        homebrew官網 macOS 不可或缺的套件管理器 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebre

Mac OS 10.12使用U盤重裝(轉)

password and 存在 log lan 桌面 回車 sta -1 OS X Capitan和macOS Sierra的安裝方式和下載系統的方法都是一致的,下面是OS X Capitan的安裝方法: 一、準備工作: 準備一個8GB或者8G以上容量的U盤 確

Mac OS 10.12安裝caffe的步驟記錄

準本工作: 1、安裝Xcode,MacOS下的編譯工作需要用到,如果沒有安裝,可以到AppStore裡進行安裝 2、Python 可以不用安裝,系統自帶了2.7版本的python 3、brew,這個是個智慧化的安裝工具,非常好用,如果沒有安裝可以用下面的方法來安裝 ruby -e "$(cu

Mac OS 10.12 編譯Android原始碼:錯誤小結

在Mac OS 10.12 編譯Android原始碼 錯誤小結 記錄自己遇到的一些問題 1、在Terminal跳轉到映象目錄的命令是 cd /Volumes/映象名稱 即建立的磁碟映象是在根目錄下的Volumes資料夾 2、在通過ma

2018VMware虛擬機器安裝Mac OS 10.12.1

說明:該篇部落格是博主一字一碼編寫的,實屬不易,請尊重原創,謝謝大家! 一.下載安裝中所需的映象檔案以及補丁工具 Mac OS 10.12.1 Sierra (16B2555) 懶人版(下載地址):https://pan.baidu.com/s/1y7XCqsWuxrLtmBY

虛擬機器VirtualBox安裝MAC OS 10.12圖文教程

注:本文來自轉載,原文連結https://www.cnblogs.com/liming2017/p/7566953.html,只不過加了一個紫色注意部分,我自己在解壓時候操作不對,導致安裝失敗,所以發個部落格VirtualBox虛擬機器安裝Mac OS 10.12圖文教程的準

vmware workstation 12 pro 安裝Mac OS 10.12.4系統

6、開啟虛擬機器,新建 虛擬機器點選下一步,選中系統E:\BaiduYunDownload\macOS S 10.12.4(16E195)(MD5-44E6A3EC38BB85CA49A68382D10FB264).cdr

win10下使用VMware12安裝MAC OS 10.12遇到的問題,無MAC OS安裝選項,無法安裝VMwareTools等

參考教程為:http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1726460&page=21#pid46861638 個人補充的地方:虛擬機器預設使用虛擬記憶體功能(即使用硬碟代替部分記憶體),導致宿主機和

ios_2017年安裝CocoaPods Mac OS 10.12.2 系統

CocoaPods使用步驟(已有Ruby環境): (沒有Ruby環境也沒關係,後面會安裝升級的,或者翻我之前安裝Ruby環境文章也行) (注:為提示作用,不要在終端中輸入)1.打開終端,輸入 gem sources –remove https://rub

MAC OS 10.12 安裝任意來源應用

在終端輸入sudo spctl --master-disable 在提示下輸入密碼並回車就可以了。 在新的系統版本中,為了方便大家操作,新增加了 “仍要開啟” 選項,方便開啟不受信任的程式。操作流程為,系統提示“不能開啟 XX 程式” 或 “XX 程式不完

Mac os 10.9(Mavericks)中安裝NS-2.35附自己製作的patch[修正一個錯誤]

#! /bin/sh # # Copyright (C) 2000 by USC/ISI # All rights reserved. # # Redistribution and use in source and binary forms are permitted # provided that the

xcode 8.3.2 coredata使用

demo data img 技術 com logs 自動生成 and href 第二步,Xcode自動生成 第三步,看圖操作 第四步,直接使用 這一步,如果使用Xcode自動初始化coredata,可以不必操作直接使用 demo: https://github

MAC 10.12.5 JDK+Eclipse安裝

由於最近管理一個J2EE的專案,於是想在MAC上搭一下JAVA開發環境,期間遇到一些莫名其妙的問題,記錄如下。 (1)安裝JDK8後,首次啟動eclipse報錯“需要安裝JRE6”,解決方式如下: 開啟/Library/Java/JavaVirtualMachines/jdkXXXXX.

mac os 10.13下安裝配置cocoapods並在xcode中使用

關閉SIP保護 10.3.4版本下macOS開啟了SIP保護,即便是root使用者也不能修改系統目錄中的檔案,所以要安裝cocoapods,需要先關閉這個服務 方法如下 1. 重啟電腦按住comm

《VMware安裝Mac OS 10.11.6》

leo cbe 權限 截圖 watermark 中文簡體 紅色 密碼 跟著 準備工作:VMware 11.1.0(虛擬化平臺)Unlocker204(破解VMware插件)El Capitan 10.11.6 Installer.cdr(Mac OS X鏡像) 百度資源:u

VirtualBox安裝Mac OS 10.11——虛擬機安裝黑蘋果

cmd set 安裝完成 環境 config true == 時區 tail 由於需要安裝mac環境跑IOS應用,所以在虛擬機裝個黑蘋果. 一、下載虛擬機安裝包,VirtualBox是官網下的最新版: 5.0.6 for Windows hosts x86/amd64

MacOS(10.13)+Qt(5.5.0)+Xcode(8.3.3) C++開發環境配置

user use tools 虛擬機安裝 empty 快捷 man qwidget lib VMware虛擬機安裝MacOS(這裏安裝的是MacOS X 10.13), 百度很多, 不再詳述. 安裝Xcode(這裏安裝的是Xcode8.3.3) 下載(https://d

Appium——appiummac環境安裝

一、安裝brew:Homebrew是一款Mac OS平臺下的軟體包管理工具執行:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 二、 安裝node,執行:br

iOS開發MAC的記憶體清理,Xcode清理

此文章僅適用於適用於使用Xcode的開發者。 長期不清理Xcode中的一些檔案你會發現自己的mac硬碟越來越小,而且是這個其他佔了絕大部分的硬碟,在網上搜索了很多辦法都沒找到如何清理這些其他 後來來來回回在資料夾中找發現~/Library/Developer/Xcode這個Xcode資料夾大的驚

VMware 15 安裝 MAC OS 10.13 原版(詳細圖文教程)

VMware 15 安裝 MAC OS 10.13 原版(詳細圖文教程) 生命在於折騰,之前本想裝個雙系統黑蘋果,什麼 U 盤啟動盤,四葉草引導,都配置好了,最後跪在一個動態捲上,備份格盤現在弄不了,先裝個 VMware 上跑的。 本篇文章收錄所有新手常見問題,如果不是第一次安裝