【Appium IOS】環(huán)境搭建并運(yùn)行demo(完整版)

該篇文章能帶你初步進(jìn)行自動(dòng)化測(cè)試環(huán)境搭建,以及運(yùn)行后實(shí)現(xiàn)通過(guò)Xcode/終端把demo安裝到手機(jī)上藏斩。

0躏结、安裝Xcode,v11.3

1狰域、安裝類(lèi)庫(kù)Homebrew 媳拴、?安裝carthage

1)Homebrew簡(jiǎn)介: ?

????????是Mac OSX上的軟件包管理工具,用以安裝和卸載mac上的其他工具兆览,其縮寫(xiě)為brew屈溉,那么安裝和卸載的語(yǔ)法是:brew install/uninstall xxxx; ?

????????如果我沒(méi)有記錯(cuò),有些mac自帶Homebrew抬探,那樣就可以直接使用了子巾,如果沒(méi)有,則需要安裝小压。如何查看電腦是否安裝有Homebrew呢线梗?很簡(jiǎn)單,終端輸入 brew 怠益,如果出現(xiàn)下面的內(nèi)容仪搔,則說(shuō)明已經(jīng)安裝好了。

2)Homebrew安裝:

????????如果未安裝homebrew蜻牢,則需要Mac必帶的ruby來(lái)安裝homebrew烤咧,如下:打開(kāi)終端偏陪,執(zhí)行:(安裝會(huì)提示輸入mac密碼,回車(chē)等待安裝煮嫌,需要一點(diǎn)時(shí)間笛谦,但是速度比瀏覽器下載快太多了。)---下面是一條命令喲立膛。

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

3)校驗(yàn)

? ??$?brew -v

4)更新brew:

? ??$ brew update ? ? 或??

5)安裝carthage

????????carthage揪罕,iOS 第三方庫(kù)管理工具, ?項(xiàng)目依賴(lài)管理,主要是?WebDriverAgent?使用宝泵,WebDriverAgent?是用它做項(xiàng)目依賴(lài)的好啰。類(lèi)似于 java 的 maven;

? ? ? $ brew install carthage

? ? ? $ carthage version 查詢(xún)版本儿奶,目前為0.34.3

? ? ? $brew uninstall carthage ?卸載

2框往、安裝類(lèi)庫(kù):node (同步會(huì)自動(dòng)安裝npm)

1)簡(jiǎn)介:較新版本的node安裝后,會(huì)附帶npm工具闯捎。 npm即node package manager椰弊,用來(lái)搜索、下載瓤鼻、管理node.js相關(guān)的套件秉版。對(duì)于前端開(kāi)發(fā)者,node茬祷、npm是必備安裝環(huán)境呢清焕。

2)安裝(可以先校驗(yàn)下是否已安裝,未安裝再安裝):$ brew install node

3)校驗(yàn):$ node -v ? ?祭犯、$ npm -v

4)npm的一些使用:

? ??$?npm help //查看npm幫助

? ??$?npm find //查找組件

? ??$?npm install //安裝組件

? ??$?npm remove //刪除組件

3秸妥、安裝依賴(lài)庫(kù):libimobiledevice(必裝)、ios-deploy (iOS10+還必須安裝)

1)安裝?libimobiledevice沃粗。(必裝)

? ??????libimobiledevice是跨平臺(tái)的軟件協(xié)議粥惧,不需要越獄就能訪(fǎng)問(wèn)ios設(shè)備;類(lèi)似android的adb工具最盅,用于獲取ios設(shè)備信息突雪。

? ??$?brew install libimobiledevice?--HEAD ? ? 或者 ?$?brew install?--HEAD?libimobiledevice

校驗(yàn):拿上面的命令試下即可,如果安裝失敗會(huì)提示comment not found檩禾,如下則安裝成功挂签。


? ???若執(zhí)行時(shí)遇到無(wú)權(quán)限(如下圖所示),則執(zhí)行如下2個(gè)命令后重試? ??

? ??????????????$?sudo chown -R $(whoami) /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew/locks

? ??????????????$?chmod u+w /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew/locks

2)下面兩個(gè)安裝哪個(gè)盼产,請(qǐng)根據(jù)您的ios版本進(jìn)行安裝饵婆,因?yàn)榭紤]到ios一直在升級(jí)或者要測(cè)試低版本兼容性,所以呢,下面兩個(gè)最好都安裝下嘍侨核!

? ??2.1)如果你的IOS 版本是10及以上草穆,則需要安裝ios-deploy?(僅支持IOS10及以上的高版本)

? ??????????ios-deploy也是一個(gè)終端安裝和調(diào)試iPhone應(yīng)用的是第三方開(kāi)源庫(kù),使用時(shí)需要開(kāi)發(fā)者證書(shū)和Xcode7以上版本搓译,(----$?ios-deploy -c如果不報(bào)錯(cuò)悲柱,說(shuō)明已安裝

? ? ? ? ?????????$?npm install -g ios-deploy ? ? ? 或 ? ? ?$?cnpm install -g ios-deploy

? ? ? ? ? ? ? ? ?點(diǎn)擊查看iOS-deploy常用命令??

? ? ? ? ??如果提示沒(méi)權(quán)限則執(zhí)行:?

? ??????????????$?sudo chown -R $(whoami) /usr/local/lib/node_modules/ios-deploy

? ??????????????$?chmod u+w //usr/local/lib/node_modules/ios-deploy? ?

? ??2.2)如果你的IOS 版本是9及以下,則需要安裝ideviceinstaller(僅支持IOS9及以下的低版本):

????????????????$?brew install ideviceinstaller

? ? ? ? ? ? ? ? 校驗(yàn)(如果不報(bào)錯(cuò)些己,說(shuō)明安裝成功):

????????????????$?ideviceinstaller -l

? ? ? ? ? ? ? ? ? ?常用命令豌鸡,自行

4、Appium-desktop 1.15.1安裝

Appium Desktop與Appium不是同一個(gè)東西段标。Appium Desktop是對(duì)于Appium而言涯冠,是一個(gè)擁有更多相關(guān)工具的圖形化界面。它們各自有各自的Cadence和版本控制系統(tǒng)逼庞。我們使用desktop進(jìn)行實(shí)踐:

1)下載鏈接: https://github.com/appium/appium-desktop/releases蛇更,可以手動(dòng)下載或者git,目前最新版本為v1.15.1.

? ? ? ? 或者直接執(zhí)行安裝:$?brew cask install appium

2)將下載的dmg文件拷貝到文件系統(tǒng)(最好的地方是“應(yīng)用程序”文件夾)赛糟。因?yàn)椴恢С謴母郊拥膁mg上運(yùn)行Appium派任。

3)雙擊進(jìn)行安裝

? ? ? ? 3.1)遇到報(bào)錯(cuò):不能打開(kāi)軟件提示無(wú)法打開(kāi)“appium”,因?yàn)锳pple無(wú)法檢查其是否包含惡意軟件璧南。

????????????????解決:在命令行輸入:$?sudo xattr -rd com.apple.quarantine /Applications/Appium.app ? ?----(應(yīng)用名稱(chēng))掌逛,輸入密碼回車(chē)重新打開(kāi)即可

或者如下圖,解鎖后選擇仍要打開(kāi):

?????????3.2)重新雙擊進(jìn)行啟動(dòng)即可(里面的端口可以自定義)

?appium desktop司倚,也可以使用命令行啟動(dòng):

1??$ node? /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js? --port 4723

????? ? ? ? ??//--port ?颤诀,Appium的主要端口

2??也可以在命令行中添加--port、--bootstrap-port对湃、--selendroid-port等appium服務(wù)命令行參數(shù):

node? /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js? --port 4723??--bootstrap-port? 4724??--selendroid-port? ?8090

????? ? ? ? ?//?--bootstrap-port,也可以寫(xiě)成-bp?遗淳,是連接Android設(shè)備bootstrap的端口號(hào)拍柒,默認(rèn)是4724

????? ? ? ? ?// --selendroid-port? ?8090,當(dāng)使用了selendroid屈暗,用來(lái)和 selendroid 交互的本地端口

? ? ? ? ? ? //?--chromedriver-port?chromedriver端口(當(dāng)使用了webviews或者chrome)

3??更多參數(shù):https://www.cnblogs.com/Teachertao/p/10961256.html

5拆讯、appium-doctor 安裝?

appium-doctor用于環(huán)境檢查,可以查看與iOS相關(guān)配置是否完整养叛,下圖是全部配置都成功,如果出現(xiàn)有一項(xiàng)不正確在執(zhí)行一次就可以种呐,或者直接跳過(guò)。

安裝appium-desktop后一般會(huì)默認(rèn)也安裝了弃甥,如果執(zhí)行$?appium-doctor –ios進(jìn)行環(huán)境檢查時(shí)提示無(wú)命令爽室,則可能是部分appium-desktop版本需要手工安裝appium-doctor,如下一步步執(zhí)行即可

1)$?npm install appium-doctor -g

? ? ? ?// 若提示無(wú)權(quán)限淆攻,則執(zhí)行如下:

? ? ? ? ? ??? ??????$?sudo chown -R $(whoami) /usr/local/lib

? ? ? ? ? ??? ??????$?chmod u+w /usr/local/lib

? ? ? ? ? ? 再次執(zhí)行安裝doctor即可:

2)環(huán)境檢查:(warn可以忽略阔墩,未安裝的安裝下即可)

? ??????$?appium-doctor –iOS

6嘿架、更新Appium中的WebDriverAgent

WDA: WebDriverAgent的簡(jiǎn)稱(chēng),是Facebook為蘋(píng)果開(kāi)發(fā)的一個(gè)自動(dòng)化測(cè)試框架啸箫。

WDA的安裝移步到另一篇文章中查看(操作完后記得回來(lái)喲):http://www.reibang.com/p/b5bc45362fa0

7耸彪、實(shí)際運(yùn)行:利用Appium-Python-Client進(jìn)行iOS的自動(dòng)化測(cè)試

????????一般都是使用Python進(jìn)行客戶(hù)端的UI自動(dòng)化,所以在真正運(yùn)行樓主的case之前忘苛,需要先把相關(guān)的依賴(lài)環(huán)境安裝完成

1)安裝python蝉娜,一般mac自帶

? ??????$?brew install python ?

2)安裝Python的appium模塊,即下載python-client 扎唾,放在那里終端就切換到哪里去git

? ??????$?git clone?https://github.com/appium/python-client.git

? ??????$?cd python-client?

? ??????$?python setup.py install

? ? ? ? ? ? //執(zhí)行時(shí)提示沒(méi)有沒(méi)權(quán)限召川,則執(zhí)行如下賦權(quán)

? ??????????????????????$?sudo chown -R $(whoami) /Library/Python/2.7/site-packages/

? ??????????????????????$?chmod u+w /Library/Python/2.7/site-packages/

3)下載測(cè)試demo(appiumSimpleDemo):里面主要寫(xiě)了個(gè)簡(jiǎn)單的iOS工程文件,并包含一個(gè)簡(jiǎn)單的Python測(cè)試腳本

? ??????$?git clone?https://github.com/zhshijie/appiumSimpleDemo

8稽屏、運(yùn)行腳本扮宠,開(kāi)始自動(dòng)化測(cè)試

1)打開(kāi)下載后的appiumSimpleDemo文件,打開(kāi)appiumSimpleDemo.xcodepro程序,配置下TARGET的簽名

2)在appiumSimpleDemo的根目錄執(zhí)行編譯指令狐榔,編譯出一個(gè)app文件xcodebuild -sdk iphoneos -target appiumSimpleDemo -configuration Release坛增,編譯成功后app文件的地址會(huì)打印在命令行中?

? ??????$?cd xcode_workspace/appiumSimpleDemo

? ??????$?xcodebuild -sdk iphoneos -target appiumSimpleDemo -configuration Release

/Users/Cathleen/xcode_workspace/appiumSimpleDemo/build/Release-iphoneos/appiumSimpleDemo.app

? ? ? ? ? ? ? ? ? ? ? ? //編譯時(shí)如果報(bào)錯(cuò)xcode-select: error: tool 'xcodebuild' requires Xcode,這種情況是xcodebuild的路徑不正確薄腻。執(zhí)行命令($xcode-select--print-path /?$xcodebuild-showsdks)查看路徑收捣。

? ? ? ? ? ? ? ? ? ? ? ? //報(bào)錯(cuò)解決:將路徑切換到Xcode的目錄下(實(shí)踐成功):

? ? ? ? ? ? ? ? ? ? ? ? ? $?sudo xcode-select--switch/Applications/Xcode.app/Contents/Developer/

3)配置python文件

????????打開(kāi)appiumSimpleDemo中的appiumSimpleDemo.py文件,將,修改setup中的幾個(gè)參數(shù)庵楷,將app的路徑罢艾,設(shè)備的相關(guān)信息修改成當(dāng)前連接設(shè)備的信息。----$?ios-deploy -c查看udid&設(shè)備名稱(chēng)尽纽。

4)運(yùn)行

? ? ? ? 法1??:在Xcode中運(yùn)行:cmd+u咐蚯,或者project>test。(無(wú)需啟動(dòng)appium)

? ??????法2??:運(yùn)行Appium程序弄贿,然后運(yùn)行python測(cè)試文件(在終端中執(zhí)行:在`appiumSimpleDemo.py`所在的目錄運(yùn)行 ? `$?python appiumSimpleDemo.py` ?)

? ? ? ? ? ? ? ? ? ? ? ------如果提示SyntaxError: Non-ASCII character則在py文件中添加“# encoding: utf-8”或者“# -*- coding:UTF-8 -*-”即可春锋。

? ? ? ? ? ? ? ? ? ? ? -------如果報(bào)錯(cuò)鏈接被拒,則是因?yàn)閍ppium未啟動(dòng)差凹,啟動(dòng)再次執(zhí)行即可期奔。

? ? ? ? 結(jié)果編譯成功。并且在手機(jī)上安裝了demo危尿。


??遇到的問(wèn)題:如果xcode雖然編譯成功而且安裝了demo但是報(bào)了個(gè)錯(cuò)(無(wú)法啟動(dòng)“appiumSimpleDemo”-)呐萌,如下:

????????解決:在設(shè)置〉通用〉設(shè)備管理或者描述文件〉信任即可,如果遇到完成信任的問(wèn)題谊娇,請(qǐng)參考?ios13找不到描述文件?一定能解決你的問(wèn)題肺孤!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子渠旁,更是在濱河造成了極大的恐慌攀例,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顾腊,死亡現(xiàn)場(chǎng)離奇詭異粤铭,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)杂靶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)梆惯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人吗垮,你說(shuō)我怎么就攤上這事垛吗。” “怎么了烁登?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵怯屉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我饵沧,道長(zhǎng)锨络,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任狼牺,我火速辦了婚禮羡儿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘是钥。我一直安慰自己掠归,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布悄泥。 她就那樣靜靜地躺著虏冻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弹囚。 梳的紋絲不亂的頭發(fā)上兄旬,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音余寥,去河邊找鬼。 笑死悯森,一個(gè)胖子當(dāng)著我的面吹牛宋舷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瓢姻,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼祝蝠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起绎狭,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤细溅,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后儡嘶,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體喇聊,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年蹦狂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了誓篱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凯楔,死狀恐怖窜骄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摆屯,我是刑警寧澤邻遏,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站虐骑,受9級(jí)特大地震影響准验,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜富弦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一沟娱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧腕柜,春花似錦济似、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至唉铜,卻和暖如春台舱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背潭流。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工竞惋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人灰嫉。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓拆宛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親讼撒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浑厚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359