這次要介紹的是 allure 在 code 上的實作,上次介紹的 allure 介面有很多都是空的(例如步驟等等)。
這些 step 要在程式上面用 pytest-allure 提供的功能實現。
記得要下載 allure-pytest 並在 code 開頭 import 進來才能使用。
我們可以在之前分類的 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)
在 allure 內就可以按照 step 去查看,可以靠這個看測試在哪邊出錯,以及在哪個 step 花了太長的時間。
也可以在裡面查看使用到的 parameters 以方便除錯。
可以改變 test case 在 allure 的名稱,若沒使用會直接用函式名稱, case 多了會不好辨認。
可以在 case 加入詳細說明,使用方法如下:
@allure.description("描述內容")
也可以不使用裝飾器,直接在 test 下輸入
def test_a():
"""
描述內容
"""
除此之外,它還有以下特點:
支援 unicode,可以輸入多國語言
支援 HTML 語法,使用 allure.description_html
即可在 description 中使用 HTML
@allure.description_html( """
<h1>測試</h1>
<h2>test</h2>
""")
這次先介紹幾個比較常用的 allure 指令,下一篇會介紹如何在測試錯誤的時候自動截圖並傳到 allure 報表上。