appium 環境搭建 for mac 成功案例

前言: PC、Android的UI自動化玩的比較多,但是IOS的玩得少,第一次使用MAC機,搭建IOS環境,特記錄一下:

MAC: 10.14.4  +  XCode: 10.1 +  appium: 1.13.0 + 模擬器 iphone 8(IOS12.1)【最終版本關係】

 appium-desktop: 1.13.0 (後補裝的,目的是用Inspector)

 

準備工作: 

安裝npm,cnpm(指定cnpm安裝源爲淘寶)

npm install -g cnpm --registry=https://registry.npm.taobao.org


1,brew  安裝

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Brew update

2,安裝 node
Brew install node 

3,  下載 Xcode  和 CommandLineTools

https://developer.apple.com/download/more/

Xcode下載的是 10.1版本【下過多個版本,9.3,9.4,10.2,只有10.1能成功啓動app】

選擇版本:

sudo Xcode-select -s /Users/01371243/Downloads/Xcode_10.1.app 

(我有多個目錄Xcode_9.3.app, Xcode_9.4.app,Xcode_10.1.app ,Xcode.app目錄缺省是10.2,最先安裝的】

 xcode-select  --print-path  (打印當前使用的xcode目錄)

4, 安裝jdk8

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

5, 安裝sdk manager

http://down.tech.sina.com.cn/page/45703.html

6,安裝appium   建議用cnpm代替npm
cnpm install -g appium
cnpm install -g nappium-doctor

我安裝路徑:/usr/local/lib/node_modules/appium

cnpm install wd

7、配置Android環境變量
在 ~/.bash_profile文件中添加path

export ANDROID_HOME=~/Library/Android/sdk/
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home #jdk安裝路徑   
export PATH=~/bin:$PATH:/usr/local/bin:$ANDROID_HOME/platform-tools/:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

8、安裝其他依賴
brew install libimobiledevice --HEAD
npm install -g ios-deploy
brew install carthage
 

9  配置 WebDriverAgent

(1)首先進入WebDriverAgent所在文件目錄下:

首先替換WebDriverAgent,從github下載最新的替換appium的如下目錄

git clone https://github.com/facebook/WebDriverAgent.git
替換:/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
(2)目錄/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent下執行:
./Scripts/bootstrap.sh

10 運行WebDriverAgent

1)xcode 打開/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/  WebDriverAgent.xcodeproj 工程文件

2) 添加自己的AppleID: account:Xcode -> Preferences -> account -> 左下角 +     沒有的新註冊一個

3)更改bundle id:這裏的bundle id就相當於一個App的唯一識別號,更改的規則隨意,只要確認不會與有重複即可;所有的targets都需要修改。

例如我自己改爲:WebDriverAgentLib: com.awen.WebDriverAgentRunner, 

WebDriverAgentRunner:com.awen.WebDriverAgentRunner, 

UnitTests:com.awen.wda.unitTests

IntegrationTests_1: com.awen.wda.integrationTests  (IntegrationTests_2,IntegrationTests_3 一致)

IntegrationApp:com.awen.wda.integrationApp

4) 所有target 都填上簽名 自己的賬號

5)deployment info   

  deployment target 設置的是11.3(不要高於12.1) ,device : iPhone

我的一頁例子:

11  驗證環境

(1)終端輸入:appium-doctor

(2)運行WebDriverAgentRunner

1:選擇scheme爲WebDriverAgentRunner -> 2:選擇運行設備,模擬器和真機都可以 -> 3:選擇要構建的方式 ->4:選擇Test方式的步驟驗證是否能成功運行WebDriverAgentRunn   (我選擇的是iphone 8  IOS:12.1 ,WebDriverAgent 會安裝到虛擬機

日誌打印包含了:

(3)app 啓動調試

因爲用的是模擬器,需要開發吧app打包成 xxx.app,模擬器的IOS版本12.1,拖入模擬器就可以安裝。

配置好Capabilities, bundleId爲app的,可以問開發人員。udid爲模擬器的id【下圖爲appium-desktop的顯示】。 

ok,用Insepctor 獲取元素位置,剩下的工作就是將android工程兼容IOS了。

備註:

1,一定要驗證啓動連接app, 因爲我開始用xcode12.2時,app會不斷重啓。經過血肉之軀替換Xcode9.3, 9.4, 10.1, 才終於發現10.1 既能讓WebDriverAgent編譯通過,又能成功拉起app。

2, 最終appium, appium-desktop都能用,都屬於appium 服務端, desktop 它是幾個Appium相關工具的組合, 包含appium了。 可以在界面上啓動session,也可以通過代碼啓動session:。啓動其中一個就好,appium-desktop定位元素比較好用,後續推薦使用它。

https://github.com/appium/appium-desktop/releases

 

主要參考:

https://www.jianshu.com/p/63792fd06729

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章