在Mac下配置Macaca環(huán)境

Macaca依賴的功能模塊非常多俊啼,安裝過(guò)程很復(fù)雜,不過(guò)這是目前所有自動(dòng)化測(cè)試框架的通病瘪贱。

Macaca自動(dòng)化測(cè)試框架

Node.js

請(qǐng)安裝Node.jsv6.0或者更高版本颤介,裝好Node.js后命令行里就已經(jīng)集成npm工具。

默認(rèn)情況下跟匆,npm命令下載的全局模塊會(huì)存放在系統(tǒng)目錄下异袄,這會(huì)導(dǎo)致后續(xù)操作有很多坑,因此玛臂,需要修改默認(rèn)的全局模塊(node_global)的存放路徑以及緩存(global_cache)的路徑烤蜕。

在用戶目錄下新建node_modules文件夾,在下面建立node_globalnode_cache兩個(gè)文件夾迹冤,修改默認(rèn)全局路徑:

$ npm config set prefix "/Users/[用戶名]/node_modules/node_global"
$ npm config set cache "/Users/[用戶名]/node_modules/node_cache"

配置Node環(huán)境變量讽营,讓系統(tǒng)識(shí)別npm下載的全局模塊:

$ vim ~/.bash_profile
[按下i,顯示insert泡徙,進(jìn)入輸入模式橱鹏,輸入如下配置]
NODE_HOME="/Users/[用戶名]/node_modules/node_global"
export PATH="$NODE_HOME/bin:$PATH"
export NODE_HOME
[按esc,輸入:wq!保存]
$ source ~/.bash_profile
$ echo $NODE_HOME

Android 環(huán)境

安裝JDK1.8堪藐,并配置Java環(huán)境變量:

$ /usr/libexec/java_home
[保存得到JAVA_HOME的路徑]
$ vim ~/.bash_profile
[按下i莉兰,顯示insert,進(jìn)入輸入模式礁竞,輸入如下配置]
JAVA_HOME="[JAVA_HOME的路徑]"
CLASS_PATH="$JAVA_HOME/lib"
export PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME
[按esc糖荒,輸入:wq!保存]
$ source ~/.bash_profile
$ echo $JAVA_HOME

安裝18-25版本中的任一SDK和Android Support Repository,并配置Android環(huán)境變量:

$ vim ~/.bash_profile
[按下i模捂,顯示insert捶朵,進(jìn)入輸入模式蜘矢,輸入如下配置]
ANDROID_HOME="[ANDROID_HOME的路徑]"
export PATH="$ANDROID_HOME/tools:$PATH"
export PATH="$ANDROID_HOME/platform-tools:$PATH"
export PATH="$ANDROID_HOME/emulator:$PATH"
export ANDROID_HOME
[按esc,輸入:wq!保存]
$ source ~/.bash_profile
$ echo $ANDROID_HOME

運(yùn)行android測(cè)試用例前要配置Gradle環(huán)境變量:

$ vim ~/.bash_profile
[按下i泉孩,顯示insert硼端,進(jìn)入輸入模式并淋,輸入如下配置]
GRADLE_HOME="[GRADLE_HOME的路徑]"
export PATH="$GRADLE_HOME/bin:$PATH"
export GRADLE_HOME
[按esc寓搬,輸入:wq!保存]
$ source ~/.bash_profile
$ echo $GRADLE_HOME

iOS 環(huán)境

下載Xcode8.3或者更高版本,安裝Homebrew(一款常用的 MacOS 的包管理器)以使用brew命令县耽。

安裝usbmuxd以便于通過(guò)USB通道測(cè)試iOS真機(jī):

$ brew install usbmuxd

安裝ideviceinstaller句喷、ios-deploy用來(lái)給真機(jī)安裝App:

$ brew install ideviceinstaller
$ brew install ios-deploy

ios-webkit-debug-proxy以便于測(cè)試App中的WebView:

$ brew install ios-webkit-debug-proxy

安裝carthage來(lái)構(gòu)建Macaca XCTestWD:

$ brew install carthage

Macaca環(huán)境配置

安裝Macaca命令行工具:

$ npm i -g macaca-cli

安裝不同的驅(qū)動(dòng)以適應(yīng)不同平臺(tái)的支持:

$ npm i macaca-ios -g
$ npm i macaca-android -g
$ npm i macaca-electron -g
$ npm i macaca-chromedriver -g

檢查當(dāng)前Macaca的安裝環(huán)境是否配置成功:

$ macaca doctor

Python環(huán)境配置

因?yàn)槭褂胮ython語(yǔ)言開(kāi)發(fā),所以需要先安裝python的開(kāi)發(fā)環(huán)境兔毙。Mac已經(jīng)有了Python 2.x唾琼,所以就不用再安裝了,不過(guò)為了以后方便澎剥,可以再安裝一個(gè)python3:

xcode-select --install
[查看已有的python2.7版本]
$ python --version
[利用homebrew搜索python3]
$ brew search python
$ brew install python3

安裝完成后可以在/usr/local/Cellar/下看到python3的文件夾锡溯,接下來(lái)就檢查一下剛剛安裝的python3與系統(tǒng)的python路徑:

$ which python
$ which python3

現(xiàn)在只需要下載安裝unittest等一些Macaca所需的模塊即可:

$ sudo pip install [unittest2的whl文件]
$ [輸入密碼]
$ sudo pip install wd

然后,為了方便開(kāi)發(fā)哑姚,可以下載PyCharm社區(qū)版來(lái)開(kāi)發(fā)python項(xiàng)目祭饭。

執(zhí)行官方示例

將官方示例sample-python克隆到本地:

$ git clone https://github.com/macaca-sample/sample-python.git --depth=1
$ pip install -r requirements.txt

先啟動(dòng)服務(wù)器,添加了--verbose可以看到詳細(xì)的信息叙量,添加-p 3456可以設(shè)置端口號(hào):

$ macaca server --verbose

分別執(zhí)行不同平臺(tái)的測(cè)試用例:

$ python tests/macaca-desktop-sample.test.py
$ python tests/macaca-ios-sample.test.py
$ python tests/macaca-android-sample.test.py

如果是使用PyCharm執(zhí)行測(cè)試用例倡蝙,一旦導(dǎo)入unittest模塊,PyCharm就會(huì)自動(dòng)識(shí)別以u(píng)nittest的模式去運(yùn)行绞佩。若是想以python直接執(zhí)行的模式運(yùn)行寺鸥,點(diǎn)開(kāi)右上角的“Edit Configurations”,再點(diǎn)左上角的+號(hào)品山,選擇Python胆建,在右方的配置中選擇要執(zhí)行的用例文件即可。

如果在執(zhí)行Android用例時(shí)肘交,在真機(jī)上很順利笆载,但到了模擬器上,到打開(kāi)百度網(wǎng)頁(yè)那里就報(bào)錯(cuò)Error: chromedriver proxy error with: Error: connect ECONNREFUSED酸些。原因是模擬器里的瀏覽器版本和本機(jī)macaca內(nèi)置的chromedriver的對(duì)應(yīng)關(guān)系問(wèn)題宰译,具體查看Android的Webview版本問(wèn)題,換api19--23之間模擬器一般就可以了魄懂。

特別要注意的是沿侈,官方示例無(wú)法在api22以下的Android系統(tǒng)中執(zhí)行。

iOS真機(jī)調(diào)試前需要重簽名XCTestWD.xcodeproj市栗,Xcode項(xiàng)目所在路徑:xxx/node_modules/macaca-ios/node_modules/xctestwd/XCTestWD.xcodeproj缀拭,雙擊打開(kāi)Xcode項(xiàng)目咳短,重簽名XCTestWD和XCTestWDUITests,并能正常執(zhí)行即可蛛淋。如果是個(gè)人開(kāi)發(fā)者咙好,iOS上要在“設(shè)置>通用>設(shè)備管理”中信任開(kāi)發(fā)者。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末褐荷,一起剝皮案震驚了整個(gè)濱河市勾效,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叛甫,老刑警劉巖层宫,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異其监,居然都是意外死亡萌腿,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)抖苦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)毁菱,“玉大人,你說(shuō)我怎么就攤上這事锌历≈樱” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵辩涝,是天一觀的道長(zhǎng)贸伐。 經(jīng)常有香客問(wèn)我,道長(zhǎng)怔揩,這世上最難降的妖魔是什么捉邢? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮商膊,結(jié)果婚禮上伏伐,老公的妹妹穿的比我還像新娘。我一直安慰自己晕拆,他們只是感情好藐翎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著实幕,像睡著了一般吝镣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昆庇,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天末贾,我揣著相機(jī)與錄音,去河邊找鬼整吆。 笑死拱撵,一個(gè)胖子當(dāng)著我的面吹牛辉川,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拴测,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼乓旗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了集索?” 一聲冷哼從身側(cè)響起屿愚,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎抄谐,沒(méi)想到半個(gè)月后渺鹦,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛹含,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了塞颁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浦箱。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖祠锣,靈堂內(nèi)的尸體忽然破棺而出酷窥,到底是詐尸還是另有隱情,我是刑警寧澤伴网,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布蓬推,位于F島的核電站,受9級(jí)特大地震影響澡腾,放射性物質(zhì)發(fā)生泄漏沸伏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一动分、第九天 我趴在偏房一處隱蔽的房頂上張望毅糟。 院中可真熱鬧,春花似錦澜公、人聲如沸姆另。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)迹辐。三九已至,卻和暖如春甚侣,著一層夾襖步出監(jiān)牢的瞬間明吩,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工渺绒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贺喝,地道東北人菱鸥。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像躏鱼,于是被迫代替她去往敵國(guó)和親氮采。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 導(dǎo)語(yǔ) 接觸Macaca已經(jīng)有一段時(shí)間染苛,從開(kāi)始的對(duì)于UI自動(dòng)化的調(diào)研開(kāi)始鹊漠,將Macaca與Appium,Roboti...
    君禾_123閱讀 3,104評(píng)論 2 18
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,855評(píng)論 0 5
  • 導(dǎo)語(yǔ) 前面幾篇文章介紹了在Macaca實(shí)踐中的一些實(shí)用技巧與解決方案茶行,今天簡(jiǎn)單分析一下Macaca的基礎(chǔ)原理躯概。這篇...
    君禾_123閱讀 1,782評(píng)論 8 20
  • 說(shuō)真的對(duì)這個(gè)發(fā)布會(huì)很失望娶靡,沒(méi)怎么看過(guò)國(guó)產(chǎn)廠商的發(fā)布會(huì)也不知道算不算通病。過(guò)去總對(duì)「羅永浩」這個(gè)喜歡打情懷牌的人挺有...
    Momo_Kong閱讀 379評(píng)論 1 1
  • 親愛(ài)的兒子,此刻你已在床上酣睡伯铣,媽媽還在書(shū)桌前思緒不斷呻此。那天你叫著說(shuō)好冷啊,我說(shuō)要不你和媽媽擠被窩一起睡吧腔寡。你說(shuō)你...
    悅?cè)蝗绯?/span>閱讀 388評(píng)論 0 1