前言:
Macaca 是一套面向用戶端軟件的測(cè)試解決方案,提供了自動(dòng)化驅(qū)動(dòng)拉庶,周邊工具置侍,集成方案。由阿里巴巴公司開(kāi)源:http://macacajs.github.io/macaca/
特點(diǎn):
同時(shí)支持PC端和移動(dòng)端(Android是整、iOS)自動(dòng)化測(cè)試。
支持JavaScript(Node.js)民假、Java浮入、Python。
周邊工具:支持用例錄制的UI Recorder羊异。
本次教程將介紹如何使用Macaca進(jìn)行Android端自動(dòng)化測(cè)試事秀。使用編程語(yǔ)言為Python3.5(Macaca只支持Python3.4以上版本)
環(huán)境安裝:
1彤断、Macaca環(huán)境+Android SDK環(huán)境+Java環(huán)境+Node環(huán)境見(jiàn):Android環(huán)境配置
2、通過(guò)macaca doctor可以檢查環(huán)境是否配置成功易迹,如下圖所示則表示環(huán)境均配置正常宰衙,如果有標(biāo)紅提示,則需要對(duì)應(yīng)處理睹欲。
>>macaca doctor
3供炼、安裝Macaca Python Client,支持pip安裝窘疮。
>>python3 -m pip install wd
用例編寫:
項(xiàng)目目錄F:\workspace\macaca-android\macaca-test下創(chuàng)建測(cè)試用例:macaca-android-sample.test.py袋哼,其中macaca-test為測(cè)試目錄集。
https://github.com/macaca-sample/sample-python/blob/master/tests/macaca-android-sample.test.py
代碼如下:
API詳解:
driver.init() ?初始化
driver.quit() ?退出
driver.back() 返回上一步
driver.element_by_id ?根據(jù)id來(lái)查找元素
driver.element_by_name 跟據(jù)name來(lái)查找元素
driver.elements_by_class_name? 跟據(jù)class_name來(lái)查找元素
driver.accept_alert() ?alert彈框確認(rèn)
driver.touch('tap', {'x':100,'y':100})? 在設(shè)備上應(yīng)用觸摸操作闸衫,例如:tap/doubleTap/press/pinch/rotate/drag 涛贯,操作后面填寫對(duì)應(yīng)坐標(biāo)x,y值
driver.save_screenshot? 保存截圖
備注:與appium的API極為相似,熟悉appium的同學(xué)可以快速上手蔚出,定位元素的方法一致弟翘。
詳細(xì)API見(jiàn)官網(wǎng):https://macacajs.github.io/wd.py/api.html
執(zhí)行用例:
1、啟動(dòng)macaca服務(wù):
>>macaca server --verbose? //加--verbose可以看到詳細(xì)的執(zhí)行過(guò)程
2骄酗、執(zhí)行用例:
>>python3 macaca_test\macaca-android-sample.test.py
以上