手機自動化測試IDE-----Airtest基本操作方法
阿新 • • 發佈:2021-06-24
大家好,我是IT共享者,人稱皮皮。這篇我們來講講手機自動化測試IDE-----Airtest。
前言
前面我們講到了Airtest的介面和安裝技巧,今天我們就來說說Airtest的具體操作方法吧,讓我們輕鬆實現軟體自動化,真正解放我們的雙手吧。
一、基本API介紹
我們在做自動化指令碼的時候,每個生成的指令碼檔案會給我們自動生成一些程式碼,如圖:
這裡所匯入的模組其實就是跨平臺的API,除了跨平臺的API還有平臺特定的API,比如:
airtest.core.android #安卓平臺 airtest.core.ios #蘋果平臺 airtest.core.win #Windows平臺
這裡我們來詳細說說這些模組。
1.跨平臺API模組
這裡我們要介紹的第一個就是跨平臺模組:
from airtest.core.api import * #匯入所有方法
1).初始化裝置
這裡初始化裝置我們也有兩種方案,下面請看:
1)).根據裝置的UUID來初始化
語法格式:
init_device(platform='Android',uuid='',cap_method=JAVACAP for Android) #平臺 – Android,IOS或Windows #uuid –目標裝置的uuid,例如,用於Android的serialno,用於Windows的handle,用於iOS的uuid #kwargs –可選的平臺特定關鍵字args,例如cap_method = JAVACAP for Android
下面我們來列舉一下例項,如下:
init_device(platform='Android',uuid='127.0.0.1:62001',cap_method='JAVACAP')
語法格式如下:
android:/// 連線當前安卓裝置
android://adbhost:adbport/serial NO.?cap_method=javacap&touch_method=adb
windows:/// 連線本地桌面程式
ios:/// 連線IOS裝置
這裡我們主要是傳入了ADB地址,埠和連線的夜神模擬器的序列號而連線上的。具體例子如下:
connect_device('android://127.0.0.1:5037/127.0.0.1:62001?cap_method=javacap&touch_method=adb')
2).返回當前活動裝置
device()
3).設定當前活動裝置
有時候如果我們連線了多個裝置,我們需要切換的話,就是用這個函式來達到目的,可以使用裝置的索引或者裝置的序列號來進行切換哦。
set_current(0)
set_current('127.0.0.1:62001')
4).執行環境配置
auto_setup(basedir = None,devices = None,logdir = None,project_root = None,compress = 0 )
basedir 設定當前指令碼的所在位置,__file__也可以。
devices 指定執行指令碼的裝置以列表形式存在
logdir 設定指令碼執行時的日誌儲存路徑,預設為None,設為True可儲存
project_root 設定api的專案根目錄
5).開啟並執行遠端Shell命令
shell(cmd) #ls / data / local / tmp
6).在裝置上啟動程式
start_app('啟動的應用程式包名')
7).在裝置上停止程式
stop_app('啟動的應用程式包名')
8).清除裝置上的應用程式資料
clear_app('啟動的應用程式包名')
9).在裝置上安裝應用程式
install(filepath='要在目標裝置上安裝的檔案的路徑')
10).在裝置上解除安裝應用程式
uninstall('應用程式包名')
11).截圖並儲存到檔案中
snapshot(filename='1.jpg',msg='hello',quality=3)
filename:圖片名
msg:螢幕截圖的簡短描述
quality:影象質量,範圍為[1,99]的整數
12).喚醒並解鎖裝置
wake('裝置')
13).返回目標裝置的主螢幕
home('裝置')
14).裝置螢幕上執行點選,滑動,捏,按鍵,輸入操作
click(v=Template(x,y),times=2) #單擊
v:觸控目標,可以是Template例項,也可以是絕對座標(x,y)
times:執行多少次觸控
double_click() #雙擊
swipe(v1,v2)#滑動起點和終點
swipe(v1,vector=(x,y))#沿向量移動,向量可以是座標也可以是螢幕百分比
#返回值:原點位置和目標位置
pinch()#捏操作,相當於縮放,引數如下:
in_or_out:放大或縮小
center:預設為None表示螢幕中心
percent:捏動作的螢幕比例,預設值為0.5
keyevent(keyname='Home')#按鍵操作
text('文字')#在裝置上輸入文字
15).睡眠,等待
sleep(2)#睡眠兩秒,延遲兩秒
wait(v,timeout,interval,intervalfunc)#等待與裝置螢幕上的模板匹配
v:等待的目標物件
timeout:超時時間
interval:嘗試找到匹配項的時間間隔(秒)
intervalfunc:在每次未成功嘗試找到相應匹配項後呼叫
返回值:匹配目標的座標
16).檢查給定目標在裝置螢幕上是否存在
exists(v)
v:檢查物件
如果找不到目標,則為False,否則返回目標的座標
17).在裝置螢幕上查詢所有出現的目標並返回其座標
find_all(v)
v:尋找目標
返回座標列表
18).斷言操作
assert_exists(v,msg) #斷言目標存在於裝置螢幕上
assert_not_exists(v,msg) #斷言目標在裝置螢幕上不存在
v:要檢查的目標
msg:斷言的簡短描述
assert_equal(v1,v2,msg) #斷言兩個值相等
assert_not_equal(v1,v2,msg) #斷言兩個值不相等
v1:第一個值
v2:第二個值
msg:斷言的簡短描述
這裡基本上我們就把使用方法說完了,下面我們來進行下實際操作,下一篇文章即將奉上。
二、總結
這篇文章主要介紹了Airtest的基本操作方法,可以讓我們輕鬆實現軟體自動化,下一篇文章將帶大家一起進行實際操作,敬請期待!
我是皮皮,如果覺得文章不錯,記得三連噢,大家有問題也可以點選下方的圖片,加我好友,交個朋友也好呀~