<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          手機(jī)自動(dòng)化測(cè)試IDE-----Airtest基本操作方法

          共 3093字,需瀏覽 7分鐘

           ·

          2021-04-25 13:17

          點(diǎn)擊上方“IT共享之家”,進(jìn)行關(guān)注

          回復(fù)“資料”可獲贈(zèng)Python學(xué)習(xí)福利

          君言不得意,歸臥南山陲。

          大家好,我是IT共享者,人稱皮皮。這篇我們來(lái)講講手機(jī)自動(dòng)化測(cè)試IDE-----Airtest。

          前言

          前面我們講到了Airtest的界面和安裝技巧,今天我們就來(lái)說(shuō)說(shuō)Airtest的具體操作方法吧,讓我們輕松實(shí)現(xiàn)軟件自動(dòng)化,真正解放我們的雙手吧。


          一、基本API介紹

          我們?cè)谧鲎詣?dòng)化腳本的時(shí)候,每個(gè)生成的腳本文件會(huì)給我們自動(dòng)生成一些代碼,如圖:

          這里所導(dǎo)入的模塊其實(shí)就是跨平臺(tái)的API,除了跨平臺(tái)的API還有平臺(tái)特定的API,比如:

          airtest.core.android #安卓平臺(tái)airtest.core.ios   #蘋果平臺(tái)airtest.core.win   #Windows平臺(tái)

          這里我們來(lái)詳細(xì)說(shuō)說(shuō)這些模塊。

          1.跨平臺(tái)API模塊

          這里我們要介紹的第一個(gè)就是跨平臺(tái)模塊:

          from airtest.core.api import * #導(dǎo)入所有方法

          1).初始化設(shè)備

          這里初始化設(shè)備我們也有兩種方案,下面請(qǐng)看:

          1)).根據(jù)設(shè)備的UUID來(lái)初始化

          語(yǔ)法格式:

          init_device(platform='Android',uuid='',cap_method=JAVACAP for Android)#平臺(tái) – Android,IOS或Windows#uuid –目標(biāo)設(shè)備的uuid,例如,用于Android的serialno,用于Windows的handle,用于iOS的uuid#kwargs –可選的平臺(tái)特定關(guān)鍵字args,例如cap_method = JAVACAP for Android

          下面我們來(lái)列舉一下實(shí)例,如下:

          init_device(platform='Android',uuid='127.0.0.1:62001',cap_method='JAVACAP')
          2)).根據(jù)設(shè)備的URL來(lái)初始化

          語(yǔ)法格式如下:

          android:///   連接當(dāng)前安卓設(shè)備android://adbhost:adbport/serial NO.?cap_method=javacap&touch_method=adbwindows:///    連接本地桌面程序ios:///     連接IOS設(shè)備

          這里我們主要是傳入了ADB地址,端口和連接的夜神模擬器的序列號(hào)而連接上的。具體例子如下:

          connect_device('android://127.0.0.1:5037/127.0.0.1:62001?cap_method=javacap&touch_method=adb')


          2).返回當(dāng)前活動(dòng)設(shè)備

          device()


          3).設(shè)置當(dāng)前活動(dòng)設(shè)備

          有時(shí)候如果我們連接了多個(gè)設(shè)備,我們需要切換的話,就是用這個(gè)函數(shù)來(lái)達(dá)到目的,可以使用設(shè)備的索引或者設(shè)備的序列號(hào)來(lái)進(jìn)行切換哦。

          set_current(0)set_current('127.0.0.1:62001')


          4).運(yùn)行環(huán)境配置

          auto_setup(basedir = None,devices = None,logdir = None,project_root = None,compress = 0basedir 設(shè)置當(dāng)前腳本的所在位置,__file__也可以。devices 指定運(yùn)行腳本的設(shè)備以列表形式存在logdir 設(shè)置腳本運(yùn)行時(shí)的日志保存路徑,默認(rèn)為None,設(shè)為True可保存project_root  設(shè)置api的項(xiàng)目根目錄


          5).開(kāi)啟并執(zhí)行遠(yuǎn)程Shell命令

          shell(cmd) #ls / data / local / tmp


          6).在設(shè)備上啟動(dòng)程序

          start_app('啟動(dòng)的應(yīng)用程序包名')


          7).在設(shè)備上停止程序

          stop_app('啟動(dòng)的應(yīng)用程序包名')


          8).清除設(shè)備上的應(yīng)用程序數(shù)據(jù)

          clear_app('啟動(dòng)的應(yīng)用程序包名')


          9).在設(shè)備上安裝應(yīng)用程序

          install(filepath='要在目標(biāo)設(shè)備上安裝的文件的路徑')


          10).在設(shè)備上卸載應(yīng)用程序

          uninstall('應(yīng)用程序包名')


          11).截圖并保存到文件中

          snapshot(filename='1.jpg',msg='hello',quality=3)filename:圖片名msg:屏幕截圖的簡(jiǎn)短描述quality:圖像質(zhì)量,范圍為[1,99]的整數(shù)


          12).喚醒并解鎖設(shè)備

          wake('設(shè)備')


          13).返回目標(biāo)設(shè)備的主屏幕

          home('設(shè)備')


          14).設(shè)備屏幕上執(zhí)行點(diǎn)擊,滑動(dòng),捏,按鍵,輸入操作

          click(v=Template(x,y),times=2) #單擊v:觸摸目標(biāo),可以是Template實(shí)例,也可以是絕對(duì)坐標(biāo)(x,y)times:執(zhí)行多少次觸摸
          double_click() #雙擊swipe(v1,v2)#滑動(dòng)起點(diǎn)和終點(diǎn)swipe(v1,vector=(x,y))#沿向量移動(dòng),向量可以是坐標(biāo)也可以是屏幕百分比#返回值:原點(diǎn)位置和目標(biāo)位置
          pinch()#捏操作,相當(dāng)于縮放,參數(shù)如下:in_or_out:放大或縮小center:默認(rèn)為None表示屏幕中心percent:捏動(dòng)作的屏幕比例,默認(rèn)值為0.5 keyevent(keyname='Home')#按鍵操作
          text('文本')#在設(shè)備上輸入文本


          15).睡眠,等待

          sleep(2)#睡眠兩秒,延遲兩秒wait(v,timeout,interval,intervalfunc)#等待與設(shè)備屏幕上的模板匹配v:等待的目標(biāo)對(duì)象timeout:超時(shí)時(shí)間interval:嘗試找到匹配項(xiàng)的時(shí)間間隔(秒)intervalfunc:在每次未成功嘗試找到相應(yīng)匹配項(xiàng)后調(diào)用返回值:匹配目標(biāo)的坐標(biāo)


          16).檢查給定目標(biāo)在設(shè)備屏幕上是否存在

          exists(v)v:檢查對(duì)象如果找不到目標(biāo),則為False,否則返回目標(biāo)的坐標(biāo)


          17).在設(shè)備屏幕上查找所有出現(xiàn)的目標(biāo)并返回其坐標(biāo)

          find_all(v)v:尋找目標(biāo)返回坐標(biāo)列表


          18).斷言操作

          assert_exists(v,msg) #斷言目標(biāo)存在于設(shè)備屏幕上assert_not_exists(v,msg) #斷言目標(biāo)在設(shè)備屏幕上不存在v:要檢查的目標(biāo)msg:斷言的簡(jiǎn)短描述
          assert_equal(v1,v2,msg) #斷言兩個(gè)值相等assert_not_equal(v1,v2,msg) #斷言兩個(gè)值不相等v1:第一個(gè)值v2:第二個(gè)值msg:斷言的簡(jiǎn)短描述

          這里基本上我們就把使用方法說(shuō)完了,下面我們來(lái)進(jìn)行下實(shí)際操作,下一篇文章即將奉上。


          二、總結(jié)

          這篇文章主要介紹了Airtest的基本操作方法,可以讓我們輕松實(shí)現(xiàn)軟件自動(dòng)化,下一篇文章將帶大家一起進(jìn)行實(shí)際操作,敬請(qǐng)期待!

          我是皮皮,如果覺(jué)得文章不錯(cuò),記得三連噢,大家有問(wèn)題也可以點(diǎn)擊下方的圖片,加我好友,交個(gè)朋友也好呀~

          看完本文有收獲?請(qǐng)轉(zhuǎn)發(fā)分享給更多的人

          IT共享之家

          入群請(qǐng)?jiān)谖⑿藕笈_(tái)回復(fù)【入群】

          ------------------- End -------------------

          往期精彩文章推薦:

          瀏覽 45
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月天人人操 | 九九九视频 | 亚洲国产色情视频 | 欧美日韩高清性爱在线观看 | 久久精品熟女亚洲AV蜜桃 |