手機自動化測試IDE-----Airtest基本操作方法


大家好,我是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的基本操作方法,可以讓我們輕松實現軟件自動化,下一篇文章將帶大家一起進行實際操作,敬請期待!

我是皮皮,如果覺得文章不錯,記得三連噢,大家有問題也可以點擊下方的圖片,加我好友,交個朋友也好呀~


免責聲明!

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



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