iOS自動化測試環(huán)境搭建

Appium+Python3+iOS真機環(huán)境搭建(超詳細+避坑)



\bullet 寫在開始

Appium是業(yè)界目前為止比較優(yōu)秀的移動端自動化測試工具,跨架構拓春、跨平臺纹磺、不依賴源碼弦聂、不需要重新編譯或修改App谎倔。

\bullet 硬件環(huán)境

\cdot Mac電腦:以macOS Catalina 10.15.6為例

\cdot iPhone手機:以iPhone 6s為例

\bullet 軟件環(huán)境

一. 安裝Homebrew工具

1. 簡介

Homebrew 官網:https://brew.sh/index_zh-cn

Homebrew 簡稱brew柳击,是一款Mac OS平臺下的軟件包管理工具,擁有安裝片习、卸載捌肴、更新蹬叭、查看、搜索等很多實用的功能状知。簡單的一條指令秽五,就可以實現包管理,而不用你關心各種依賴和文件路徑的情況饥悴,十分方便快捷坦喘。

2. 安裝

國內地址不建議使用官網命令安裝,請使用如下腳本命令安裝(在Mac os終端中復制粘貼回車下面腳本):

安裝腳本:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

卸載腳本:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

若執(zhí)行完命令提示未同意xcode協議西设,則在終端輸入sudo xcodebuild -license 空格跳至license末尾起宽,輸入agree后,重新在終端輸入安裝brew命令


二. macOS相關庫安裝

1.libimobiledevice 使用本機與蘋果iOS設備的服務進行通信的庫济榨。

brew install libimobiledevice

2.ideviceinstaller 獲取設備udid、安裝app绿映、卸載app擒滑、獲取bundleid

brew install ideviceinstaller

3.carthage 第三方庫管理工具。

brew install carthage

4.ios-deploy 不依賴于xcode,進行安裝和調試iOS應用程序叉弦。

brew install ios-deploy

5.npm 包管理器(用來管理js的)丐一。

brew install npm

6.node.js Javascript運行環(huán)境(Node.js 內置了 npm)

brew install node

7.配置淘寶鏡像cnpm

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


三. 安裝Xcode

Xcode是iOS開發(fā)環(huán)境,可以到App store 下載安裝淹冰,需要macOS升級到最新的版本库车,如果你的系統不是最新版本,需要去官網下載合適版本升級樱拴。

1.App store查看xcode版本歷史記錄

Appstore中的Xcode


Xcode的版本歷史說明

2.下載Xcode

訪問蘋果官方下載地址:https://developer.apple.com/download/more/柠衍,登錄Apple賬號后,搜索Xcode版本號晶乔,找到對應Xcode下載安裝

搜索Xcode版本號



四. 安裝Appium-desktop

官網地址:https://github.com/appium/appium-desktop/releases/tag/v1.17.0

官網1.17.0版本Appium

安裝完成打開時可能會提示無法打開珍坊,因為apple無法檢查其是否包含惡意軟件,可以終端輸入命令解決

sudo spctl --master-disable


五. 安裝WebDriverAgent

1.簡介

WebDriverAgent是由Facebook開發(fā)的一套開源框架正罢,用于端對端的UI測試阵漏,能同時支持模擬器和真機。appium拉了個分支來維護翻具,更新上超過了facebook履怯,所以我們用appium的分支。

2.下載WebDriverAgent工程

Github地址下載

克隆代碼

3.在WebDriverAgent目錄下進入終端執(zhí)行以下命令

進入WebDriverAgent終端

mkdir -p Resources/WebDriverAgent.bundle

sh ./Scripts/bootstrap.sh

注意:執(zhí)行完以上兩個命令framework依賴安裝完成裆泳,但是會少掉一個依賴RoutingHTTPServer.framework叹洲,沒有這個依賴在后邊手機端安裝WebDriverAgent會失敗

4.RoutingHTTPServer.framework地址

百度網盤地址 提取碼:ytxt

下載完成解壓后放入WebDriverAgent文件夾如下路徑

文件夾路徑

5.編譯WebDriverAgent.xcodeproj

Xcode打開WebDriverAgent文件夾目錄下的WebDriverAgent.xcodeproj文件


六. 配置WebDriverAgent

進入項目后要編輯一些內容,請務必按照步驟全部修改工禾。步驟見下圖疹味!

1仅叫、TARGETS->WebDriverAgentLib的Bundle Identifier更改為自己命名的Identifier。(所有Identifier必須保持一致糙捺!且唯一)

2诫咱、TARGETS->WebDriverAgentLib的Signing選擇使用個人的證書(個人的Apple ID就可以)。

3洪灯、TARGETS->WebDriverAgentRunner的Signing選擇使用個人的證書坎缭。

4、PROJECT->WebDriverAgent的Product Bundle Identifier更改為自己命名的Identifier签钩。(所有Identifier注意保持一致L秃簟!)


5铅檩、TARGETS->WebDriverAgentLib的Product Bundle Identifier更改為自己命名的Identifier憎夷。(所有Identifier注意保持一致!C林肌)

6拾给、TARGETS->WebDriverAgentRunner的Product Bundle Identifier更改為自己命名的Identifier。(所有Identifier注意保持一致M梦帧=谩)

7、通過數據線連接自己的iPhone測試機乒疏,并且信任該電腦

8额衙、選擇Product-Scheme-WebDriverAgentRunner

9.選擇Product-Destination-自己的iPhone測試機

10.點擊build按鈕來測試,按照步驟設置后怕吴,可build succeeded~

如果提示build failed窍侧,不必再往下操作,檢查此步驟之前的操作是否正確


11.點擊Product-Test

同時手機上會安裝一個WebDriverAgent軟件转绷。需要在手機設置->通用->設備管理->信任開發(fā)者

12疏之、檢查日志是否有錯誤。


六暇咆、安裝Python環(huán)境

Mac自帶Python環(huán)境锋爪,不過自帶的是Python2。千萬不要卸載自帶Python

我們通過brew安裝Python3就可以爸业,也可以手動下載安裝其骄,不過還是建議brew,brew安裝不需要配置環(huán)境變量就可以直接使用扯旷。

brew install python3


七拯爽、安裝Pycharm

官網地址:https://www.jetbrains.com/pycharm/download/#section=mac



八、通過Appium查看iOS App元素定位

1.打開之前安裝好的Appium桌面版

2.配置手機信息

udid可以通過終端輸入ideviceinfo獲取UniqueDeviceID信息

bundleId是需要測試App的包名:

commond+空格搜索 輸入console進入控制臺

選中連接的設備钧忽,啟動app毯炮,日志刷新逼肯,右上方過濾搜索:submitting

就能看到當前應用的包名了,一般包名中都有com.

3.配置完成點擊Start Session就可以通過Appium inspector定位iOS元素了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末桃煎,一起剝皮案震驚了整個濱河市篮幢,隨后出現的幾起案子,更是在濱河造成了極大的恐慌为迈,老刑警劉巖三椿,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異葫辐,居然都是意外死亡搜锰,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門耿战,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛋叼,“玉大人,你說我怎么就攤上這事剂陡”蜂蹋” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵鹏倘,是天一觀的道長。 經常有香客問我顽爹,道長纤泵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任镜粤,我火速辦了婚禮捏题,結果婚禮上,老公的妹妹穿的比我還像新娘肉渴。我一直安慰自己公荧,他們只是感情好,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布同规。 她就那樣靜靜地躺著循狰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪券勺。 梳的紋絲不亂的頭發(fā)上绪钥,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機與錄音关炼,去河邊找鬼程腹。 笑死,一個胖子當著我的面吹牛儒拂,可吹牛的內容都是我干的寸潦。 我是一名探鬼主播色鸳,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼见转!你這毒婦竟也來了命雀?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤池户,失蹤者是張志新(化名)和其女友劉穎咏雌,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體校焦,經...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡赊抖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了寨典。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氛雪。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖耸成,靈堂內的尸體忽然破棺而出报亩,到底是詐尸還是另有隱情,我是刑警寧澤井氢,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布弦追,位于F島的核電站,受9級特大地震影響花竞,放射性物質發(fā)生泄漏劲件。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一约急、第九天 我趴在偏房一處隱蔽的房頂上張望零远。 院中可真熱鬧,春花似錦厌蔽、人聲如沸牵辣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纬向。三九已至,卻和暖如春戴卜,著一層夾襖步出監(jiān)牢的瞬間罢猪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工叉瘩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留膳帕,地道東北人。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像危彩,于是被迫代替她去往敵國和親攒磨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354