手機自動化測試 Appium 於 Mac上的環境設定
這篇文章主要說明手機自動化測試Appium在 Mac 上環境的設定。
appium 可以對於 iOS 與 Android 進行自動化測試,測試程式原則上沒有太大差異。
主要是環境準備與工具有一些小差異,因此這篇文章主要說明如何在Mac 上設定相關的自動化測試環境。
(Windows/Android 可以參考這篇Appium手機自動化測試從頭學 –Windows/Android環境安裝篇)
環境需求
- Mac OS X 10.7 or later
- Xcode 4.6.3 above
- Java version 7 or later
- Homebrew (主要是安裝套件方便)
- Node and npm (主要是用來啟動 Appium)
環境變數
open ~/.bash_profile
包含下列環境變數設定
export JAVA_HOME=path/to/the/java/home
export ANDROID_HOME=path/to/the/android/sdk export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools |
設定完成後可以在 console 底下執行這個指令測試。
java –version
安裝 appium 所需環境工具
- Xcode
- Homebrew
- Node and npm
Xcode 安裝
https://itunes.apple.com/us/app/xcode/id497799835 > “View in Mac App Store”
Homebrew 安裝
在 Mac console 下,執行下列指令
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”. |
如果有安裝成功,可以用下列指令測試
brew doctor |
Node 安裝
因為Appium Server 是Node.JS 開發,所以要安裝 Node 。
(Windows 版本因為Appium Server安裝程式已經內建 Node的安裝,所以不需要額外安裝Node)
在 Mac console 下,執行下列指令,即可安裝 Node
brew install node |
Appium 安裝
npm install –g appium |
(安裝Appium 不需要使用 sudo,不然之後會遇到執行權限的問題)
下載相關的 JAR 開發套件
- Selenium Server and WebDriver Java client (https://selenium-release.storage.googleapis.com/index.html)
- Appium Java client (http://search.maven.org/#search|ga|1|appium%20java%20client)
- Gson (http://mvnrepository.com/artifact/com.google.code.gson)
iOS simulator
跟 windows android 不同的是 iOS simulator 內建在 Xcode 中,不需要額外建立。
Appium GUI Mac
相對於 android 來說 iOS 的 Appium設定相對比較多。
如果是 iOS Native App 或是Native + WebKit (Hybrid App) 的話設定如下。
主要設定 app path 與 simulator + platform
如果要啟動的是實體手機要額外設定 UDID。
如果是要啟動的是 simulator 中的 Safari browser 的話,設定如下:
如果要啟動的是實體手機要額外設定 UDID。
如何定位 iOS Web App?
我們要怎樣透過 Safari 來幫助自動化測試程式定位網頁元件呢?
在手機的 Safari 上,Settings > Advanced > Web Inspector
用手機的 Safari 例如瀏覽 www.google.com
回到 Mac 桌機上的 Safari,Develop > iOS Simulator
就可以在 Mac 桌機上檢視 iOS 手機 Web 網頁所看到的資訊。再根據這個資訊去定義每個網頁元件的 ID, name or Xpath
舉例來說,可以使用 Inspector 來定位 Search Bar
WebElement searchBar = driver.findElement(By.name(“q”));
如果是 iOS native App 怎麼找到UI 元件呢?
Android 的話使用 UIAutomatorViewer。
而Mac 則是使用 Appium Inspector。
與 Windows 版本不同的是,Mac 版本的 inspector 是可以支援 record And Replay。
Provisional Profile設定
如果要將 App 安裝到實體的 iOS手機上就需要這個設定。並需要加入 iOS developer program。
將手機連接電腦號,開啟 Xcode設定。
SafariLauncher
這個工具主要用來在手機上啟動 Safari
https://github.com/snevesbarros/SafariLauncher/archive/master.zip
- 1. Appium.dmg 右鍵 > Show Package Contents
- 2. 解壓縮Contents/Resources/node_modules/appium/build/SafariLauncher.zip
- 3. submodules/SafariLauncher/build/Release-iphoneos 將 SafariLauncher app 置換成我們要測試的 app
- 4. 壓縮 submodules 並且更改檔名 SafariLauncher
ios-webKit-debug-Proxy
安裝這個套件主要是要建立與 Web View 的連線。透過下列指令安裝即可
brew insetall ios-webkit-debug-proxy |