Macaca-iOS入門那些事


Macaca-iOS入門那些事

一. 前言

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

二. Macaca是什么

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

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

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

三. Macaca與Appium區別

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

而在應用級上的封裝,二者均采用了Node.js作為開發語言,接口也基於web-driver實現,所以Macaca和Appium相似程度非常高。

如何看待Macaca和Appium區別?

以下是Macaca作者的設計思想:

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

可以認為Macaca是一個輕量級的Appium。當然,這就意味着很多Appium的功能會沒有了。但這也造就了一個輕量級的,更易集成的框架,Why not?

四. 安裝

其實安裝是很簡單的,但是還是很多人無法把環境搭建起來。這里再詳細說下。

  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及其案例運行起來了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM