顏值爆表的 UI 測試報告 - ptest

起源

這是一場意外

話說筆者某天閒着沒事,也正巧剛啃完 Python & Selenium ,因而漫無目的地在網上搜索着技術相關文章。搜着搜着搜到了一個開源的報告生成庫,這時,一幅精美的報告映入了個人眼簾...web

初識 ptest

精美報告在此:chrome

當我看到這個報告的一瞬間,心中小鹿亂撞,沒想到從沒經歷過的一見傾心 ( 臉 ) 竟會發生在我身上。瀏覽器

零距離接觸

因而乎心裏火熱的我找到了此項目的開源地址,進行了一次零距離的接觸......框架

安裝

依然是萬年不變的 pip install 大法:測試

pip install ptest==1.9.5
複製代碼

最佳實踐

這裏我使用了本身開發的 violent-webdriver 庫進行 selenium 二次封裝,因此須要再來一次 pip install 大法:ui

pip install violent-webdriver==1.0.27
複製代碼

而後咱們能夠開始擼代碼拉~spa

首先咱們新建一個 Python 文件,名爲 uitest.py,並寫入下列 核心代碼~code

核心代碼

from ptest.decorator import TestClass, Test, BeforeClass, AfterClass
from ptest.assertion import assert_true
from ptest.plogger import preporter
# from selenium.webdriver.chrome.options import Options
from violent_webdriver import Chrome

# chrome驅動地址,請自行修改
CHROMEDRIVER_PATH = 'C://MyDownloads/Download/chrome-win32/chromedriver.exe'

# 仍是按照慣例拿百度開測
TEST_URL = 'https://www.baidu.com'

@TestClass(run_mode="singleline")
class BaiduTest:

    # 初始化Chrome
    @BeforeClass(description='啓動瀏覽器')
    def before(self):
        self.driver = Chrome.violent_chromedriver(CHROMEDRIVER_PATH)
        self.driver.set_window_size(1920, 1080)
        self.driver.implicitly_wait(10)
    
    # 測試執行
    @Test(tags=["regression", "smoke"], timeout=60, description="驗證百度首頁的title中是否包含「百度一下」字符串")
    def BaiduTest_001(self):
        self.driver.get(TEST_URL)
        title_text = self.driver.title
        preporter.info('已進入百度首頁並獲取頁面title,title值爲: 「%s」' % title_text, screenshot=True)
        assert_true('百度一下' in title_text)

    # 關閉資源
    @AfterClass(timeout=10, description='關閉瀏覽器')
    def after(self):
        self.driver.quit()
複製代碼

代碼講解

沒錯,咱們仍是拿百度作實驗 :) , 代碼執行過程很是簡單:cdn

  • 初始化瀏覽器
  • 登陸百度首頁
  • 獲取百度首頁標題
  • 校驗百度首頁標題是否爲 百度一下
  • 關閉瀏覽器

再介紹一下 ptest 框架中獨有的裝飾器~blog

  • @TestClass 表明測試類
  • @BeforeClass 表明在執行測試類中用例的前置步驟 ( 如:初始化瀏覽器等...... )
  • @Test 表明一個測試用例的具體執行過程 ( 如:訪問測試地址、獲取頁面標題、斷言等......)
  • @AfterClass 則經常使用於測試類運行完畢後的清理工做 ( 如:關閉瀏覽器等...... )

運行效果

代碼擼完後在當前目錄下直接運行:

ptest3 -t uitest
複製代碼

代碼運行完畢後將在當前目錄下生成測試報告,打開後以下所示:

嗯,沒錯,是我喜歡的模樣。

總結

一個好看的報告將會帶來一天的好心情~

但願你們能從本篇文章有所收穫~

最後給你們推薦一下個人公衆號 「智能測試開發」,歡迎你們掃描下方海報二維碼領取 進階教程~

相關文章
相關標籤/搜索