一、 ?通過命令行安裝
1、安裝jdk
Mac系統自帶java,可通過java -version確認
$ java -version
java version "1.8.0_71"
Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)
2、安裝git
Mac系統自帶git,可通過git --version確認(注意version前為兩個‘-’)
$ git --version
git version 2.8.1
3、安裝ruby
$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]
4、安裝brew
確認是否已安裝 $ brew -v
若未安裝,報錯-bash: brew: command not found
安裝brew ? ?$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝成功后
$ brew -v
Homebrew 1.6.3
Homebrew/homebrew-core (git revision 070e; last commit 2018-05-09)
5、安裝node
未安裝
$ node -v ? ? ? -bash: node: command not found
安裝node
brew install node
安裝成功后
$ node -v ? ? ? v10.1.0
6、npm
$ npm install -g appium ??
npm在國內使用還是比較麻煩的
推薦淘寶鏡像
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
安裝完成后 所有npm命令都可以用cnpm代替
7、安裝appium
$ npm install -g appium
+ wd@1.6.2
added 98 packages in 15.823s
8、安裝wd
$ npm install wd
+ wd@1.6.2
updated 1 package in 3.208s
9、安裝appium-doctor
$ npm install appium-doctor
+ appium-doctor@1.4.3
added 118 packages in 14.51s
安裝完畢后
$ appium-doctor ? 報錯-bash: appium-doctor: command not found
解決辦法
$ npm install -g appium-doctor ? -g意味全局安裝
/usr/local/bin/appium-doctor -> /usr/local/lib/node_modules/appium-doctor/appium-doctor.js
+ appium-doctor@1.4.3
added 214 packages in 16.953s
10、Xcode與ANDROID SDK
若未安裝則安裝下載Xcode;
下載android sdk
11、appium-doctor檢查各配置安裝情況
$ appium-doctor
info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor? ? The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor? ? Node version is 10.1.0
info AppiumDoctor? ? Xcode is installed at: /Library/Developer/CommandLineTools
info AppiumDoctor? ? Xcode Command Line Tools are installed.
info AppiumDoctor? ? DevToolsSecurity is enabled.
info AppiumDoctor? ? The Authorization DB is set up properly.
WARN AppiumDoctor? ? Carthage was NOT found!
info AppiumDoctor? ? HOME is set to: /Users/panzhongjie
WARN AppiumDoctor? ? ANDROID_HOME is NOT set!
WARN AppiumDoctor? ? JAVA_HOME is NOT set!
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, 7 fixes needed. ###
info AppiumDoctor
info AppiumDoctor ### Manual Fixes Needed ###
info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:
WARN AppiumDoctor - Please install Carthage. Visit https://github.com/Carthage/Carthage#installing-carthage for more information.
WARN AppiumDoctor - Manually configure ANDROID_HOME.
WARN AppiumDoctor - Manually configure JAVA_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
上面檢查結果是
* ?JAVA_HOME與ANDROID_HOME未配置
* ?Carthage沒有找到
若檢查結果Xcode Command Line Tools沒有安裝,Fix it?的時候輸入Y,就能自動導向安裝
12、安裝Carthage
指令 ? brew?install?Carthage
安裝完成
Bash completion has been installed to:
? /usr/local/etc/bash_completion.d
zsh completions have been installed to:
? /usr/local/share/zsh/site-functions
==> Summary
??? /usr/local/Cellar/carthage/0.29.0: 69 files, 26.7MB
12、bash_profile文件
$ /usr/libexec/java_home -V ? ?可用于查看mac jdk默認安裝路徑
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
? ? 1.8.0_71, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home
Mac 默認是沒有這個文件的,我們自己建一個
<1>touch ? .bash_profile ?創建
<2>vi ?.bash.profile ? 打開
<3>設置JAVA_HOME與ANDROID_HOME
export JAVA_HOME=$(/usr/libexec/java_home)
export ANDROID_HOME="/Users/panzhongjie/Desktop/sdk/android_sdk"?
<4>退出編輯并保存
按ESC,輸入:wq 保存退出
<5>加載.bash_profile文件設置
source ?.bash.profile
13.如果appium-doctor中還報錯? Bin directory for $JAVA_HOME is not set
<1>在.bash.profile中添加JAVA_HOME/bin的環境變量
open .bash_profile ?打開
export ?PATH=${JAVA_HOME}/bin:$PATH ?添加
command+s 保存
source .bash_profile 加載
<2>校驗環境變量添加結果
$appium-doctor
掃描結果
info AppiumDoctor ? Bin directory of $JAVA_HOME is set
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor
14.運行appium service
$ appium &
[1] 12839
panzhongjiedeMacBook-Air:~ panzhongjie$ (node:12839) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[Appium] Welcome to Appium v1.8.0
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
二、通過下載Appium-Desktop安裝
如果不習慣通過命令行安裝,可以直接下載dmg安裝包
搬運自 ?https://blog.csdn.net/daihuimaozideren/article/details/79495753
方案二,還是比較簡單的,Appium官方網站提供了下載地址。
https://github.com/appium/appium-desktop/releases
啟動界面如下
需要注意的是,采用方案二安裝,仍需要注意環境變量的問題。
tips:
很多人在用 npm install 的時候會遇到坑。
比如 https 連不上。 這個就需要配置下 (Registry)[https://npmjs.org/doc/registry.html]
使用 sudo 安裝,在某個版本的 appium 里面,如果你使用 sudo npm install -g appium 安裝的話,那么你必須找到這個安裝的目錄,并賦予其他用戶讀寫權限,否則會出錯。
-g 很多人問 -g 這個選項, -g 的意思是全局安裝,裝好之后,你可以直接在命令行調用。
更新升級 appium ——?sudo npm update -g appium
安裝某個版本的 appium ——?sudo npm install -g appium@0.12
附錄
搬運自 ?
Appium?在 Mac 上配置 Appium 問題收集 ?Lihuazhang?
https://testerhome.com/topics/315
關于IOS app與web環境配置
iOS
必備:
iOS 開發證書
一年 99 美元免不了。xCode 5 之后,蘋果把開發證書,發布證書,真機調試這一套東西都自動化了。只需要在 Preferences => Accounts 里面輸入你注冊的開發者賬號。
真機
iPhone, iPad, iTouch 隨便搞一臺。
模擬器
iOS 應用測試
Appium 在 iOS 上的實現底層調用的 instruments 的 UIAutomation。有興趣的同學可以研究下,推薦書籍 Test iOS Apps with UI Automation。
對于一個應用,我們首先要把它 build 成一個 app。 xcode 提供了?xcodebuild?命令。詳見?xcodebuild 文檔
然后對于模擬器來說,只需在 cap 里指定 app 地址就可以了。比如:
FileappDir=newFile(System.getProperty("user.dir"),"../../../apps/TestApp/build/Release-iphonesimulator");Fileapp=newFile(appDir,"TestApp.app");DesiredCapabilitiescapabilities=newDesiredCapabilities();capabilities.setCapability(CapabilityType.BROWSER_NAME,"");capabilities.setCapability(CapabilityType.VERSION,"6.0");capabilities.setCapability(CapabilityType.PLATFORM,"Mac");capabilities.setCapability("device","iPhone Simulator");capabilities.setCapability("app",app.getAbsolutePath());driver=newSwipeableWebDriver(newURL("http://127.0.0.1:4723/wd/hub"),capabilities);
對于真機,那你需要build能在你設備上運行的 app 并把它燒到真機上去。你可以直接在 xcode 里選擇真機運行或者使用 fruitstrap (未試用過) 推送到真機上。
之后,啟動 Appium 時候,需要指定真機 UDID 和 app 的 bundle id。例如:appium -U 45f082689dbaebb0ffa3620b3ae22ad9faff9a30 --app io.appium
iOS web 測試
對于普通的 Webdriver 代碼,Appium 也可以充當一個 Selenium Server。
在模擬器上,只要配置下 cap 的 app 參數就可以了。
{app:'safari',device:'iPhoneSimulator',version:'7.0'}
p.s 注意自己的版本號。
在真機上,Appium 還不能直接調用啟動 Safari。我想其根本原因應該是和蘋果的封閉性有關,之前 Webdriver 上的 SafariDriver 也是破費周折。蘋果不允許你對他的產品有任何傾入行為。
不過英雄們還是有很多解決方法,坊間流傳兩個曲線救國的方法,可以參見?http://testerhome.com/topics/313。