appium環境搭建--mac os

一、 ?通過命令行安裝

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內容