如何把自定義的函數,記錄到你的Airtest報告裏

1. 前言

熟悉Airtest的同學都知道,像touchswipe這類核心API,運行之後,都會在Airtest報告裏記錄一個步驟:

但有很多情況下,我們可能會使用自定義的函數,這種自定義的函數,就不會被記錄到我們的Airtest報告裏面。

那如果我們想要自定義的函數,也能顯示在Airtest報告裏面,該怎麼處理呢?接下來我們就一起來了解下Airtest的裝飾器 @logwrap

2. @logwrap 的介紹與示例

Airtest提供了一個裝飾器 @logwrap ,這個裝飾器可以幫助我們把函數顯示到Airtest報告中。

1)在自定義函數中使用@logwrap的例子

我們可以從一個非常簡單的例子,來體驗下這個裝飾器的作用。假設我們有一個自定義的函數,這個函數的作用是喚醒設備屏幕、啓動計算機應用,我們姑且把這個自定義的函數叫做open_calculator

# -*- encoding=utf8 -*-
__author__ = "AirtestProject"

from airtest.core.api import *
auto_setup(__file__)

@logwrap
def open_calculator():
    wake()
    start_app("com.sonymobile.exactcalculator")

open_calculator()

運行完這個簡單的.air腳本之後,我們就可以生成Airtest報告:

可以看到,這時候,自定義的函數,也被顯示到了我們的Airtest報告裏面,是不是非常簡單!

2)附加1張當前設備截圖的操作

如果我們希望在報告顯示自定義函數內容的同時,還附帶一張當前設備的截圖的話,可以增加 snapshot=True 參數在自定義函數的定義中:

@logwrap
def open_calculator(snapshot=True):
    wake()
    start_app("com.sonymobile.exactcalculator")

這時候報告不僅能顯示自定義的函數,還能帶上一張設備截圖:

但是,需要注意的是,增加 snapshot=True 參數這塊的內容,是在1.2.7版本的Airtest才新增的,所以需要使用的同學,至少保證自己當前環境的Airtest版本大於等於1.2.7。

3. 小結

關於Airtest的裝飾器@logwrap就介紹到這裏,感興趣的同學可以趕緊實操一下,讓你自定義的函數,也能在Airtest報告裏“上榜”。


Airtest官網https://airtest.netease.com/
Airtest教程官網https://airtest.doc.io.netease.com/
搭建企業私有云服務https://airlab.163.com/b2b

官方答疑 Q 羣:117973773

呀,這麼認真都看到這裏啦,幫忙點個推薦支持一下唄,灰常感謝~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章