allure用例定制参数及报告效果展示
生活随笔
收集整理的這篇文章主要介紹了
allure用例定制参数及报告效果展示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Allure + Pytest 使用demo
目的
通過Allure的定制化屬性,優化Pytest的用例層測試報告的結果展示。
python版本及必要庫
python 2.7
pytest 3.1.3
pytest-allure-adaptor 1.7.7
效果圖
數據總覽中的環境參數
類別中的失敗用例展示
測試套中的測試名,id號,優先級,耗時,描述,鏈接,測試步驟,關聯資料
圖標中的耗時及優先級
時間刻度
用例功能分塊展示
關聯數據展示
具體實例代碼展示說明
# coding:utf-8import pytest import allure# 測試函數 @allure.step("字符串相加:{0},{1}") # 測試步驟,可通過format機制自動獲取函數參數 def str_add(str1, str2):print "hello"if not isinstance(str1, str):return "%s is not a string" % str1if not isinstance(str2, str):return "%s is not a string" % str2return str1 + str2@allure.severity("critical") # 優先級,包含blocker, critical, normal, minor, trivial 幾個不同的等級 @allure.feature("測試模塊_demo1") # 功能塊,feature功能分塊時比story大,即同時存在feature和story時,feature為父節點 @allure.story("測試模塊_demo2") # 功能塊,具有相同feature或story的用例將規整到相同模塊下,執行時可用于篩選 @allure.issue("BUG號:123") # 問題表識,關聯標識已有的問題,可為一個url鏈接地址 @allure.testcase("用例名:測試字符串相等") # 用例標識,關聯標識用例,可為一個url鏈接地址 @pytest.mark.parametrize("para_one, para_two", # 用例參數[("hello world", "hello world"), # 用例參數的參數化數據(4, 4),("中文", "中文")],ids=["test ASCII string", # 對應用例參數化數據的用例名"test digital string","test unicode string"]) def test_case_example(para_one, para_two):"""用例描述:測試字符串相等:param para_one: 參數1:param para_two: 參數2"""# 獲取參數paras = vars()# 報告中的環境參數,可用于必要環境參數的說明,相同的參數以后者為準allure.environment(host="172.6.12.27", test_vars=paras)# 關聯的資料信息, 可在報告中記錄保存必要的相關信息allure.attach("用例參數", "{0}".format(paras))# 調用測試函數res = str_add(para_one, para_two)# 對必要的測試中間結果數據做備份allure.attach("str_add返回結果", "{0}".format(res))# 測試步驟,對必要的測試過程加以說明with pytest.allure.step("測試步驟2,結果校驗 {0} == {1}".format(res, para_one+para_two)):assert res == para_one+para_two, resif __name__ == '__main__':# 執行,指定執行測試模塊_demo1, 測試模塊_demo2兩個模塊,同時指定執行的用例優先級為critical,blockerpytest.main(['--allure_stories=測試模塊_demo1, 測試模塊_demo2', '--allure_severities=critical, blocker'])總結
以上是生活随笔為你收集整理的allure用例定制参数及报告效果展示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jmeter+ant+jenkins接口
- 下一篇: ClickHouse可视化DBM Rel