AirtestIDE創建.py腳本並運行、生成報告

文章來源於AirtestProject


前言

有很多新手同學在剛開始使用AirtestIDE的時候,就特別喜歡新建純 .py 腳本,我想這可能是出於對純 .py 腳本莫名的熟悉感吧~

而認真看過我們官方教程的同學都知道,對於剛接觸Airtest和Poco這兩個自動化測試框架的新手來說,我們還是非常推薦大家從 .air 腳本開始學起的。

但鑑於在普通的 .py 腳本里面調用Airtest或者Poco的接口,也是同學們的一個剛需,我們今天就先來看看如何藉助AirtestIDE來幫助我們新建純 .py 腳本,並瞭解下這其中有什麼特別的注意事項吧~本期目錄:

  • 1.新建.py腳本
  • 2.詳解auto_setup()裏面的logdir和devices
  • 3.生成純.py腳本的報告

(注:下文內容均使用IDE自帶的python環境)


1.新建.py腳本

① 打開你的AirtestIDE,依次選擇 文件 - 新建腳本 - .py 純Python(高級用戶

 

 

② 在彈出的設置窗口,依次設置好各個初始化參數:

 

 

③ 按上述設置新建的純 .py 腳本,初始化內容會如圖所示:

 

 

我們重點來看下這段初始化代碼

if not cli_setup():
auto_setup(__file__, logdir=True, devices=[
"Android://127.0.0.1:5037/ZPFABE5DI7WWZLAM",
])

這段初始化代碼的意思是說,當使用 python xxx.py 來運行本文件,且不帶任何命令行參數時,則自動使用 auto_setup 這個接口來對 Airtest 相關的參數進行初始化。這樣只需要在寫 .py 腳本時,填寫好期望的參數就能直接用 python xxx.py 指令來運行腳本。

如果是 python xxx.py --device xx --log xx 這種帶命令行參數的,只要腳本檢測到傳入了命令行參數,就依然優先使用命令行參數來初始化 Airtest 相關的參數。


2.詳解auto_setup()裏面的logdir和devices

① 設置腳本運行時的log保存路徑--logdir

logdir 的值必須爲 True 或者是指定的具體保存路徑。如果 logdir 的值爲 None 的話,則默認在運行腳本時不保存log內容,也就是最終不能生成報告。

如果將 logdir 的值設置爲 True ,則表示將log內容保存在默認爲 .py 文件所在目錄下的 log/ 目錄

 

 

如果填寫具體的保存路徑,比如 E:/test/log,此時log內容就會被保存在指定目錄下:

 

 

② 連接設備參數--devices

在新建 .py 腳本時,這個 devices 參數一定要加上,你可以使用當前IDE已連接的設備進行初始化,也可以建完腳本之後,自己再手動添加上。

如果沒有在 .py 腳本中添加這個連接設備的參數,那麼腳本內關於Airtest或者Poco的腳本將無法正常執行(敲黑板!最常見的就是下圖這種情況):

 

 

擴展閱讀:Airtest API精講之設備連接管理API集合


3.生成純.py腳本的報告

生成純 .py 腳本的報告有倆種方法,一種是藉助IDE的 查看報告 按鈕來生成;另一種是使用 simple_report() 方法生成報告。

① 藉助IDE的 查看報告 按鈕

運行完 .py 腳本以後,點擊IDE的 查看報告 按鈕之後,會彈出一個提示框,讓你選擇log目錄所在位置:

 

 

此時你只需要選擇初始化參數 logdir 所填寫的路徑,再點擊OK即可。之後會在默認瀏覽器打開剛纔的腳本運行報告。

② 使用 simple_report() 方法

因 simple_report() 方法在 airtest.report.report 模塊中,所以使用之前,我們需要把這個方法引入進來:

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

from airtest.core.api import *
from airtest.cli.parser import cli_setup

if not cli_setup():
auto_setup(__file__, logdir=True, devices=[
"Android://127.0.0.1:5037/ZPFABE5DI7WWZLAM",
])

snapshot(msg="請填寫測試點.")

# generate html report
from airtest.report.report import simple_report
simple_report(__file__)

如果初始化的時候,logdir 的值爲 True ,即log內容被保存在 .py 文件的log/目錄下,則我們可以直接使用 simple_report(__file__) ,無需其它參數,即可幫助我們在 .py 文件所在目錄生成腳本運行的報告 log.html:

 

 

如果初始化的時候,logdir 的值爲指定目錄,則在 simple_report(__file__) 裏面我們還需要加上以下參數:

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

from airtest.core.api import *
from airtest.cli.parser import cli_setup

if not cli_setup():
auto_setup(__file__, logdir="E:/test/log", devices=[
"Android://127.0.0.1:5037/ZPFABE5DI7WWZLAM",
])

snapshot(msg="請填寫測試點.")

# generate html report
from airtest.report.report import simple_report
simple_report(__file__,logpath="E:/test/log",output="E:/test/log/log.html")

因爲初始化的時候,我們把腳本保存目錄用 logdir 參數指定爲"E:/test/log",則在生成報告的時候,我們也要去找這個地址的log.txt,所以需要將 logpath 指定爲"E:/test/log"。

另外我們希望log.html,即網頁版的報告也保存在此路徑,所以我們將output也指定爲 "E:/test/log/log.html"。

 

 

那麼我們可不可以不指定 output 地址呢?當然是可以的,如果我們沒有指定 output 地址的話,將默認在 .py 腳本所在的目錄下生成log.html:

 

 


擴展閱讀:Airtest通過代碼生成報告——simple_report、LogToHtml詳解

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