前言
airtest是一款跨平台的UI自動化編輯器,主要為游戲而設計,但同時也可以適用於移動端的自動化測試。
airtest里面有兩大體系,airtest和pocoui支撐着整個測試框架。
- airtest
- 主要通過圖像對比然后在界面上進行點擊和識別的操作。
- pocoui
- 該模塊功能很強大,與uiautomator2有異曲同工之妙。
下載安裝
點擊下載即可。

下載完成后是一個壓縮包。
解壓到一個文件夾中,比如我就是在D盤根目錄進行解壓的。解壓后打開文件夾。
找到AirtestIDE.exe雙擊打開。

打開后會彈出登錄界面,點擊skip跳過。

我們就進入到了主界面。

入門教程
這里我就不介紹了,官方教程里有一個5分鍾入門,可以打開看一看。
https://airtest.doc.io.netease.com/tutorial/1_quick_start_guide/
airtest也是需要編寫腳本的,使用的語言是python。
所以在學習這個工具的時候也需要一定的python基礎。
airtest同時支持2和3,推薦使用python3。
搭建環境
airtestIDE安裝好了,現在我們應該准備其他的環境。如adb,安卓設備環境。
ADB環境搭建
- 進入網址:https://adbshell.com/downloads 下載Windows版本的adb軟件包
- 下載完成后安裝在

- 配置環境變量。

-
驗證adb安裝

mumu模擬器
下載安裝網易mumu模擬器
由於沒有多余的安卓手機,自己也只有一個主力機。所以我只能考慮用模擬器進行本系列的教程。
百般挑選之后我選擇了網易的mumu模擬器。主要原因是它和airtestIDE同屬網易開發的,天然親近。
下載地址:http://mumu.163.com/
配置ADB
因為網易mumu是模擬器所以我們需要設置一下adb。
教程:http://mumu.163.com/2017/12/19/25241_730476.html
啟動鏈接
啟動airtest,啟動mumu模擬器
-
在airtestIDE中可以看到箭頭1所指的區域,沒有出來設備

-
所以我們選擇箭頭2所指的選項,點擊
遠程設備鏈接,點擊連接

- 這時可以看到設備出來了。

-
點擊
connect右鍵的箭頭,選擇USE javacap,然后點擊connect。此時airtest和mumu模擬器的鏈接就大功告成了。

配置說明
至於為什么要選擇javacap和安卓設備的鏈接問題,請移步官方提供的文檔:
http://airtest.netease.com/docs/cn/2_device_connection/3_emulator_connection.html
獲取APP包名
在pycharm中已經成功鏈接了mumu模擬器,並打印出了設備的相關信息.
接下來我們就要獲取APP的包名,先看我們准備用那個app作為教程中所使用的app呢。
我在這里選擇的是智學網app進行測試,在mumu模擬器的應用市場就可以下載到。

接下來我們要獲取應用的包名,獲取包名我常用的有兩種方法。
adb命令行獲取包名
首先我們先查看一下mumu模擬器的版本。進入設置—關於里面。

是安卓6.0.1版本的。
-
MacOS系統
- 安卓8.0以下
adb shell dumpsys activity activities | grep mFocusedActivity- 安卓8.0以上
adb shell dumpsys activity activities | grep mResumedActivity -
Windows系統
- 安卓8.0以下
adb shell dumpsys activity activities | findstr mFocusedActivity- 安卓8.0以上
adb shell dumpsys activity activities | findstr mResumedActivity
我們在mumu模擬器中運行智學網app,然后打開cmd。輸入Windows安卓8.0以下的命令。
注意:如果遇到報錯
error: no devices/emulators found
我們先在cmd中執行一下命令: adb connect 127.0.0.1:7555
然后再進行獲取包名的命令就可以了。

airtest獲取包名
那么在腳本中我們應該怎樣獲取包名呢,airtest已經為我們內置了一個獲取包名的方法:
首先我們導入airtest包中的Android模塊。
然后使用模塊的get_top_activity()獲取並打印出頂層的安卓活動。
運行腳本:請看圖片中箭頭所指部分。

可以看到打印結果的包名和活動名是不是和adb命令行獲取的一樣。
在airtest在獲取包名很簡單吧,當然ADB命令行獲取也更方便,不用導入腳本。
自己想使用那種方式安卓應用包名都可以。
進行到這里我們的airtest測試環境就配置好了。
