Macaca-iOS入門那些事

Macaca-iOS入門那些事

一. 前言

最近有朋友向我請教iOS自動化測試框架選型,恰好前段時間作講座時發現了macaca,遂試用。因此,下面的內容會只圍繞Macaca的iOS部分。html

二. Macaca是什麼

阿里的移動端自動測試框架,同時支持android,iOS。而以前的阿里的athrun彷佛已經放棄維護了。node

官網:https://macacajs.github.io/macaca/android

Macaca基於Node.js開發,測試案例編寫語言暫時也只支持Node.js。ios

三. Macaca與Appium區別

坦白說,這種外部驅動instruments的server-client自動化測試框架,在iOS上實現方式很是受限的,因此其底層的實現方式是一致的。git

而在應用級上的封裝,兩者均採用了Node.js做爲開發語言,接口也基於web-driver實現,因此Macaca和Appium類似程度很是高。github

如何看待Macaca和Appium區別?web

如下是Macaca做者的設計思想:npm

appium 是個優秀的工具。但沒法知足更輕、更快、更穩、更易集成、更貼合業務的高要求。

能夠認爲Macaca是一個輕量級的Appium。固然,這就意味着不少Appium的功能會沒有了。但這也造就了一個輕量級的,更易集成的框架,Why not?json

四. 安裝

其實安裝是很簡單的,可是仍是不少人沒法把環境搭建起來。這裏再詳細說下。bootstrap

  1. Xcode(及Xcode Command Line Tools)

  2. Node.js

    • https://nodejs.org/en/download/
    • 安裝後,確認是否安裝成功

        chentekiMacBook-Pro:~ chenximing$ node -v
        v4.4.3
        chentekiMacBook-Pro:~ chenximing$ npm -v
        2.15.1
    • npm是Node.js包管理,以後裝Macaca就是用它。
  3. brew

  至此,若是對以上3者不瞭解,先放棄搭建Macaca,先把以上東西使用先搞懂....

 

  1. Macaca安裝

    npm i -g macaca-cli

    注意: 這裏新是macaca-cli,若是看舊版教程是:macaca-client(但願以後不要變了...)。

    檢查是否安裝好了:

     注意:check-list你未必都能pass,像個人Android部分,platforms directory檢查失敗。so what,我只試用iOS部分,其餘能夠不鳥它。只要保證:

    node.js checklist
    iOS checklist
    Installed driver list

    以上3者全pass便可。若是按照我剛纔的步驟,除iOS checklist的ios-webkit-debug-proxy外,其餘不該該會有failed。

  2. 安裝ios-webkit-debug-proxy

    brew install ios-webkit-debug-proxy

    這裏必定要用brew安裝!以前有些舊文檔會略坑新手,手工編譯方式....這須要手工安裝N多依賴:autoconf,libtool,xml2...不是熟手別搞,玩死你...

    ios-webkit-debug-proxy是幹嗎的呢?從它安裝的依賴庫能夠看出:

    libimobiledevice/
    usbmuxd/

    iTools就是使用這玩意兒和iPhone通信的,libimobiledevice是破解iTunes和iPhone的通信後實現的lib。Xcode5以前是fruitstrap,fruitstrap後來放棄維護,Xcode5後使用libimobiledevice。

   至此,安裝所有完成,很簡單是否是:>

五. 運行第一個測試案例

安裝完了框架,要跑一跑啊,不然裝來幹嗎呢?那得先回答如下問題:

  1. 案例哪裏來?
  2. 有案例也得有app...
  3. 運行案例的設備,能夠選模擬器和真機。因爲裝了Xcode自帶模擬器,因此跑第一個案例時,先用模擬器會比較簡單。

而後第1,2個問題怎麼解決?

做者已經幫你解決了。他已經爲你準備第一個測試案例及其對應的app。

1. 下載案例及App

git clone https://github.com/macacajs/macaca-test-sample.git --depth=1

若是你不知道什麼是git或者沒裝,能夠去https://github.com/macacajs/macaca-test-sample下載。

下載後,進入macaca-test-sample目錄,執行:

npm i
 

2. macaca-test-sample目錄結構解析

./
├── HISTORY.md
├── LICENSE
├── Makefile
├── README.md
├── app
├── circle.yml
├── macaca-test
├── node_modules
└── package.json
  • app:

    • 存放測試中使用到的app:ios-app-bootstrap.zip。
  • macaca-test:

    ./
    ├── macaca-desktop-sample.test.js # 桌面瀏覽器測試案例...做者的想法有點多啊-_-!
    ├── macaca-mobile-browser-sample.test.js # 移動端瀏覽器測試案例
    ├── macaca-mobile-sample.test.js # 移動端App測試案例
    └── mocha.opts
     

    若是單純要看iOS端App測試效果的話,能夠把macaca-mobile-sample.test.js以外的*.js都幹掉。

3. 運行第一個測試案例

macaca run --verbose

 

至此,Macaca及其案例運行起來了。
相關文章
相關標籤/搜索