
一.背景
1當前UI自動化面臨的問題
難以使用一套工具對移動端、web端、桌面端進行自動化測驗
- 版本更新頁面改動較大,自動化腳本的維護成本高
- 圖片內容難以驗證
2 解決方案
用影像識別方法代替傳統坐標定位方法進行UI自動化設計
二.Airtest自動化簡介
Airtest是一個跨平臺的UI自動化測驗框架,基于影像識別原理,Airtest IDE操作頁面如圖

1.優點
基于python,跨平臺,可用于移動端、web端、桌面端UI自動化測驗,支持windows、ios、android
2.組成
整個工具套件由Airtest IDE、Airtest、Poco、Airlab組成
Airtest IDE:跨平臺的UI自動化編輯器
Airtest:基于python的跨平臺的UI自動化測驗框架,基于影像識別原理
Poco:基于UI空間搜索的自動化框架
Airlab:網易Airtest云測驗服務
三.環境搭建
1.AirtestIDE下載和安裝
1.1Windows用戶
根據系統是32位還是64位版本,下載官網上對應的zip包,解壓后得到AirtestIDE檔案夾
雙擊AirtestIDE/AirtestIDE.exe即可啟動進行安裝,一直點擊下一步即可
在部分機器上可能由于顯卡兼容性問題,導致無法正確啟動,或腳本編輯視窗無法編輯,可以在1.2.3版本IDE新增的兼容模式的設定項中選擇一個兼容模式后重啟IDE,這樣未來將會默認以兼容性模式來啟動IDE
雙擊圖示運行

1.2MacOS用戶
- 在官網下載AirtestIDE.dmg后雙擊解壓,將AirtestIDE.app拖入應用程式Application檔案夾中即可
- 第一次啟動時可能會有閃退問題,再次啟動即可正常使用
2.界面介紹

-
導航欄:主要是腳本檔案的管理,和IDE的設定
-
Airtest輔助窗:可以快速插入部分操作代碼
-
Poco輔助窗:可看到原生UI結構等資訊
-
Selenium視窗:使用與Airtest輔助窗一樣,可以快速插入部分操作代碼
-
腳本編輯視窗:進行代碼編輯的地方
-
Log查看窗:可以查看運行腳本時的各項Log資訊;可以查看定位元素或控制元件的資訊
-
設備窗:可以查看設備資訊,控制設備等,可分成移動設備連接、遠程設備連接、Windows視窗連接、ios設備連接四部分
3.連接設備
3.1 Android連接
1.打開開發者選項,打開usb除錯
2.通過資料線或者wifi連接(關閉手機助手)
3.在手機端同意usb除錯
IOS連接參考官方檔案airtest.doc.io.netease.com/IDEdocs/dev…
3.2 連接模擬器
1.獲取模擬器的ip和埠號
2.將ip和埠按照adb connect ip:port的格式填入遠程設備連擊
3.點擊連接
4.等待幾秒,模擬器設備顯示在設備串列中,點擊connect
3.3 Windows視窗連接
在設備窗—windows視窗連接中,點擊選擇游戲畫面或者搜索視窗,選擇視窗完成連接
四.撰寫和執行用例
本檔案以安卓手機為例,使用Airtest指令完成demo用例的撰寫
1.撰寫腳本
操作指令:

- touch:觸摸
- swipe:滑動
- wait:等待
- exist:是否存在
- snapshot:截屏
- text:輸入文本
- keyevent:按鍵
- sleep:休眠
- assert_exist:斷言存在
- assert_not_exist:斷言不存在
- assert_equal:斷言相等
- assert_not_equal:斷言不相等
1.1新建腳本
操作欄中點擊檔案——新建腳本——.air Airtest專案
1.2錄制腳本
1.2.1自動化錄制腳本
點擊Airtest輔助窗的自動化錄制按鍵開始錄制

在右側連接侯的設備窗設備截圖區域操作,相應動作會被自動錄制為代碼,并且會自動截取操作區域的圖片
操作之間需要手動添加wait或者sleep,否則很可能因為操作和顯示不同步而失敗
自動截取的圖片通常不是很準確,建議手動截取圖片
1.2.2手動錄制腳本
點擊Airtest中的操作指令,再到連接設備視窗中截圖,完成一條操作步驟
2.執行腳本
點擊選單欄運行按鍵或者按F5開始執行腳本

也可以通過命令列的方式運行:airtest run “path to your .air dir” --device Android : / / /
五.查看報告
在AirtestIDE中,可以點擊上側圖示選單的最后那個“查看報告”的按鈕,快捷鍵為Ctrl+L,稍后片刻將會自動使用默認瀏覽器打開結果報告頁面

1報告內容

報告主要分為兩部分:
①在報告的上半部分,可以看到與報告相關的一些資訊,比如:報告的名稱、作者、報告描述(可自定義)以及快覽等等,點擊任意一張快覽,下方會展示相應的測驗資訊,
②報告的下半部分,詳細展示了每一個測驗動作及其執行情況,單擊左側的測驗動作,右側會顯示出相應動作執行結果的詳細情況,并且我們還可以在右側對不同執行結果進行篩選,
2自定義報告描述
如果在腳本中寫到了以下內容,將會在報告中顯示出來:
author 對應腳本作者
title 對應腳本標題
__desc__可以寫較長的腳本描述,將會顯示在頁面中,如果超過一定行數會自動折疊
3其他
點擊log.txt可以查看log檔案
點擊步驟的眼睛圖示可以查看背景關系
點擊圖片縮略圖會顯示對應步驟的執行情況
總結
Airtest操作比較簡單,基本上不涉及到代碼,所以非常適合剛入門沒什么測驗經驗的人利用這個工具做UI自動化測驗,同時Airetest又提供了開源的API,讓資深測驗工程師可以基于Airtest的框架上再做高級的定制化擴展功能,

最后: 可以關注公眾號:傷心的辣條 ! 進去有許多資料共享!資料都是面試時面試官必問的知識點,也包括了很多測驗行業常見知識,其中包括了有基礎知識、Linux必備、Shell、互聯網程式原理、Mysql資料庫、抓包工具專題、介面測驗工具、測驗進階-Python編程、Web自動化測驗、APP自動化測驗、介面自動化測驗、測驗高級持續集成、測驗架構開發測驗框架、性能測驗、安全測驗等,
如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “點贊” “評論” “收藏” 一鍵三連哦!推薦軟體測驗交流學習群:914172719 里面會分享一些資深架構師錄制的視頻錄像
好文推薦
轉行面試,跳槽面試,軟體測驗人員都必須知道的這幾種面試技巧!
面試經:一線城市搬磚!又面軟體測驗崗,5000就知足了…
面試官:作業三年,還來面初級測驗?恐怕你的軟體測驗工程師的頭銜要加雙引號…
什么樣的人適合從事軟體測驗作業?
那個準點下班的人,比我先升職了…
測驗崗反復跳槽,跳著跳著就跳沒了…
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300977.html
標籤:其他
