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 映象 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_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:一些很有幫助的資料
11、心得:
整體的流程其實不多,但是在macOS10.12搭建appium的環境及測試整個過程著實煩躁,有時候一個小問題就卡1-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/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——appium之mac環境安裝
一、安裝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 上跑的。 本篇文章收錄所有新手常見問題,如果不是第一次安裝