【Mac + Appium學習(一)】之安裝Appium環境前提准備


環境:

  • Appium version :1.9.1
  • Appium-desktop:1.7.1
  • Xcode:10.0
  • IOS:iPhone5S(10.3.3)
  • Android:6.0.1
  • Mac:10.13.6

一、需要mac系統里有如下軟件安裝,才可以進行appium環境搭建

1、檢查java是否安裝,系統自帶的就略過如何安裝了

$ java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

未安裝從網上下載java安裝后,配置環境變量 (詳細參照:http://www.micmiu.com/lang/java/set-javahome-on-mac-os-x/)

復制代碼
> vim ~/.bash_profile

......
......
......
Swap file "~/.bash_profile.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort: E(選擇E編輯)

# 按下鍵盤上的“i”鍵,進入編輯狀態。可以看到命令的下方出現了“--INSERT--”字樣,表示成功進入了編輯模式。 
export JAVA_HOME=$(/usr/libexec/java_home) # get latest version  
export PATH=${JAVA_HOME}/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
# 輸入完成后,按下“Esc”鍵,退出編輯模式。並在此時輸入“:wq”以退出並保存剛剛輸入的內容。
復制代碼

2、檢查homebrew是否安裝

$ brew -v
Homebrew >=1.7.1 (shallow or no git repository)
Homebrew/homebrew-core (git revision b93d; last commit 2018-10-15)
Homebrew/homebrew-cask (git revision 2a21d; last commit 2018-10-15)

未安裝請參考:《【Mac + Python】蘋果系統之安裝Python3.6.x環境》homebrew安裝

3、檢查git是否安裝

$ git --version
git version 2.19.0

未安裝git請輸入:

brew install git

4、【可以不安裝】檢查ruby是否安裝,系統自帶忽略安裝

安裝地址參考:《Mac OS X 安裝Ruby

$ ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin17]

5、安裝carthage

輸入:

brew install carthage

5、XCode

用來測試IOS APP。

1)在appstore中下載安裝xcode,同時安裝 xcode command line tools

2)在從App Store上下載Xcode后,默認是不會安裝Command Line Tools的,Command Line Tools是在Xcode中的一款工具,可以在命令行中運行C程序。為了配置appium環境,我們需要安裝Xcode Command Line Tools。

參考:《Xcode使用之安裝Xcode Command Line Tools

    <1> 打開終端 輸入xcode-select  --install

    一路下一步按提示安裝,安裝參考:command line tools 安裝方法

驗證 xcode command line tools 是否安裝成功,可以在此輸入: xcode-select --install 如果安裝了就會提示,已經安裝成功

或者進入Xcode里面,新建項目,再查看是否安裝。

6、Android SDK

測試Android App需要。 

參考文章:《Appium移動自動化測試(一)--Mac安裝Appium

下載地址:http://tools.android-studio.org/index.php/sdk

將下載的 Android SDK 解壓,將得到如下目錄。(具體安裝步驟可以閱讀 SDK Readme.txt)

閱讀 SDK Readme.txt文檔得知:

先cd到android-sdk-macosx文件夾下:

再輸入命令:

tools/android update sdk --no-ui

 然后會提示幾個“Do you accept the license 'android-sdk-license-2742d1c5'” 選擇“y”

接着會下載android的SDK,如下:

下載完SDK后,配置環境變量:

復制代碼
> vim ~/.bash_profile

......
......
......
Swap file "~/.bash_profile.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort: E(選擇E編輯)
復制代碼
# 按下鍵盤上的“i”鍵,進入編輯狀態。可以看到命令的下方出現了“--INSERT--”字樣,表示成功進入了編輯模式。
export ANDROID_HOME=/usr/local/android-sdk-macosx(根據自己的路徑修改)
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
# 輸入完成后,按下“Esc”鍵,退出編輯模式。並在此時輸入“:wq”以退出並保存剛剛輸入的內容。

 

至此准備條件完畢,接下來安裝appium吧!

 

二、appium安裝

mac系統安裝appium,有兩種方法,第一種:通過appium.dmg 直接安裝 ,第二種:通過npm安裝(需要VPN)

1、安裝node.js

先檢查node是否安裝

$ node -v
v10.7.0

未安裝node則執行:(不推薦)

> brew install node        # get node.js      或者直接安裝:Node.js官網下載:https://nodejs.org/zh-cn/download/(直接安裝的node中直接包含了npm,且路徑正確,不存在關聯錯誤的情況)

*安裝node步驟參考如下文章:《Mac 安裝/卸載node和npm的方法

首先登陸官網查看最新穩定LTS版本:https://nodejs.org/en/

再執行命令:

復制代碼
# nvm 安裝命令:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

# 或者

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
復制代碼

如果在新的終端輸入 nvm 時提示:command not found: nvm,有可能是以下原因之一:

1) 你的系統可能缺少一個 .bash_profile 文件,你可以創建一個此文件(可通過vi或vim命令),打開復制粘貼以下代碼(安裝nvm成功后終 端的最好3行代碼)進去,保存,然后再次運行安裝命令

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

2) 如果沒有解決問題,打開你的 .bash_profile 文件,並添加以下代碼:source ~/.bashrc

(1)node 安裝

nvm install 10.15.0 #(也可以選擇安裝其他版本)

(2)安裝完成 查看當前版本號:

復制代碼
node -v

npm -v
# 切換版本

nvm use v+版本號
復制代碼

 

2、安裝 appium server

參考:《Appium-安裝

在終端輸入:

npm install -g appium

這個過程可能會比較慢。

由於時間很長我們來看一下課外知識:

==============擴展================

npm是什么東東?npm其實是Node.js的包管理工具(package manager)

因為我們在Node.js上開發時,會用到很多別人寫的JavaScript代碼。如果我們要使用別人寫的某個包,每次都根據名稱搜索一下官方網站,下載代碼,解壓,再使用,非常繁瑣。於是一個集中管理的工具應運而生:大家都把自己開發的模塊打包后放到npm官網上,如果要使用,直接通過npm安裝就可以直接用,不用管代碼存在哪,應該從哪下載。更重要的是,如果我們要使用模塊A,而模塊A又依賴於模塊B,模塊B又依賴於模塊X和模塊Y,npm可以根據依賴關系,把所有依賴的包都下載下來並管理起來。否則,靠我們自己手動管理,肯定既麻煩又容易出錯。

其實npm已經在Node.js安裝的時候順帶裝好了。我們在終端輸入 npm -v 就可以看到npm的版本

$ npm -v
6.2.0

相關自動化知識參考:【puppeteer+Node.js安裝環境】之步驟

================================= 

但是下載安裝失敗:

解決辦法:《解決APPium國內安裝、升級慢問題

輸入:

# 安裝:
npm --registry http://registry.cnpmjs.org install -g appium

npm install -g appium    此時需要VPN代理來安裝appium server,安裝完成之后輸入appium -v,表示appium server安裝成功

$ appium -v
1.9.1

 

復制代碼
gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: read ECONNRESET
gyp ERR! stack     at TLSWrap.onread (net.js:660:25)
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/Cellar/node/10.7.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/appium/node_modules/heapdump
gyp ERR! node -v v10.7.0
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok 
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: heapdump@0.3.9 (node_modules/appium/node_modules/heapdump):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: heapdump@0.3.9 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

+ appium@1.9.1
added 591 packages from 434 contributors in 341.871s


   ╭───────────────────────────────────────────────────────────────╮
   │                                                               │
   │       New minor version of npm available! 6.2.0 → 6.4.1       │
   │   Changelog: https://github.com/npm/cli/releases/tag/v6.4.1   │
   │               Run npm install -g npm to update!               │
   │                                                               │
   ╰───────────────────────────────────────────────────────────────╯
復制代碼

 

復制代碼
# 卸載appium:

npm uninstall -g appium

# 重新安裝appium1.6.3:

npm install -g appium@1.6.3
復制代碼

3、安裝appium client

appium主站上給出的命令是npm install wd 這應該是老版本的安裝方法:

npm install wd

 推薦下面的方法進行安裝:參照:《appium mac 下 安裝及踩坑

git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install

或者:

pip install Appium-Python-Client

安裝成功:

Finished processing dependencies for Appium-Python-Client==0.30

4、檢查appium安裝是否成功

appium doctor用來檢查appium的是否成功安裝。手動下載安裝appium doctor的網址在:https://github.com/appium/appium-doctor 
也可以在終端執行npm install appium-doctor -g 來安裝 doctor。 

npm install appium-doctor -g

安裝完成后,終端輸入appium-doctor 檢測環境是否成功。

appium-doctor 

5、啟動appium服務

在終端輸入appium &。輸出下面的信息,則表示appium server啟動成功了。

$ appium &
[1] 965$ [Appium] Welcome to Appium v1.9.1
[Appium] Appium REST http interface listener started on 0.0.0.0:4723

6、查看是否運行成功(跟下面桌面程序相關)

瀏覽器打開:

http://0.0.0.0:4723/

顯示:

That URL did not map to a valid JSONWP resource

注:最好再把端口關了,因為下面要用appium桌面程序訪問服務,不然會顯示端口被占用。

# 查看端口使用情況
$ lsof -i tcp:4723
COMMAND  PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    1216  xxxxx   13u  IPv4 0xe8dfa7a1addb4d97      0t0  TCP *:4723 (LISTEN)

殺死進程:

kill 1216

至此appium 環境搭建完成!! 

三、安裝appium桌面程序

需要安裝AppiumDesktop。

下載AppiumDesktop參考下面:

小白爺:《mac下Appium環境配置》*

Appium-Server下載地址:https://github.com/appium/appium-desktop/releases(因為我后面做IOS自動化時,用的Xcode是10.0版本,所以下載1.7.1版本的桌面程序,支持appium1.9.1,不然會提示錯誤)

 

用命令打開程序或者手動打開程序:

# 啟動appium-desktop
/Applications/Project/Appium.app/Contents/MacOS/Appium

 

 啟動后進入:

 

 

========================================

但是,還有一種用node命令行啟動server,如下

參考:《Appium Mac 下命令行啟動 appium-desktop

使用命令:node /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js

帶參數啟動

在命令行中添加--port、--bootstrap-port、--selendroid-port等appium服務命令行參數:

# 啟動
node /Applications/Project/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js --port 4725 --bootstrap-port 4726 --selendroid-port 8090

========================================

什么是AppiumDesktop?

有人說AppiumDesktop是Appium新版的叫法,也就是在Xcode8之前和之后的叫法。因為Xcode8之前自帶的自動化測試框架叫做uiAutomation,Xcode8之后完全棄用了這一框架,開始使用XCUITest,這導致Appium大修其下層機制,以使用Facebook的WebDriverAgen

,也就是從這個時候在用Appium測試iOS應用的時候必須在iPhone手機上首先安裝一個應用叫:WebDriverAgentRunner。也就是通過這個應用來啟動我們被測應用。
所以AppiumDesktop不是Appium

AppiumDesktop使用請參考下面:

顧顧314:《AppiumDesktop用法(力求詳盡深入,后期可能會更新)

四、附錄

參考文章:

:《Appium for MAC 環境搭建*

Mac上安裝Appium環境

拾花瓣的人Appium移動自動化測試(一)--Mac安裝Appium》*

xm1994:《Appium 在 Android UI 測試中的應用》*

melody_emma:《appium mac 下 安裝及踩坑》*

iceman03:《解決APPium國內安裝、升級慢問題

 轉自:https://www.cnblogs.com/Owen-ET/p/9930621.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM