iT邦幫忙

2024 iThome 鐵人賽

0
Python

利用Python完成自動化測試專案系列 第 25

D25 allure 報表(3)

  • 分享至 

  • xImage
  •  

這次要介紹的是 allure 在 code 上的實作,上次介紹的 allure 介面有很多都是空的(例如步驟等等)。
這些 step 要在程式上面用 pytest-allure 提供的功能實現。
記得要下載 allure-pytest 並在 code 開頭 import 進來才能使用。

allure step

我們可以在之前分類的 page 頁面加入每一個 page 動作的 step。 以發佈文章為例:

import allure

    @allure.step("發佈文章")
    def post_article(self, subject, article):
        with allure.step("輸入標題"):
            self.input_text(self.subject, subject)
        with allure.step("輸入文章"):
            self.actions_input_text(self.article, article)
        with allure.step("點擊儲存草稿"):
            self.click_element(self.save_draft)

https://ithelp.ithome.com.tw/upload/images/20241117/20169358olaPV7MloR.jpg
在 allure 內就可以按照 step 去查看,可以靠這個看測試在哪邊出錯,以及在哪個 step 花了太長的時間。
也可以在裡面查看使用到的 parameters 以方便除錯。

allure title

可以改變 test case 在 allure 的名稱,若沒使用會直接用函式名稱, case 多了會不好辨認。

https://ithelp.ithome.com.tw/upload/images/20241117/2016935820Y4vNU80k.jpg

allure destribution

可以在 case 加入詳細說明,使用方法如下:

@allure.description("描述內容")

也可以不使用裝飾器,直接在 test 下輸入

def test_a():
    """
    描述內容
    """

除此之外,它還有以下特點:

  1. 支援 unicode,可以輸入多國語言
    https://ithelp.ithome.com.tw/upload/images/20241117/20169358nygap3zIs1.jpg

  2. 支援 HTML 語法,使用 allure.description_html 即可在 description 中使用 HTML

@allure.description_html(    """
    <h1>測試</h1>
    <h2>test</h2>
    """)

https://ithelp.ithome.com.tw/upload/images/20241117/20169358nr3R9gHIZZ.jpg

這次先介紹幾個比較常用的 allure 指令,下一篇會介紹如何在測試錯誤的時候自動截圖並傳到 allure 報表上。


上一篇
D24 allure報表(2)
下一篇
D26 allure 截圖實作(1)
系列文
利用Python完成自動化測試專案30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言