日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pytest测试实战pdf_Pytest+Allure美化测试报告

發布時間:2024/7/23 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pytest测试实战pdf_Pytest+Allure美化测试报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今日推薦音樂:我最愛的霉霉

在學習pytest的時候,生成的html報告覺得實在不是很美觀,查到資料有很多測試報告的第三方插件,不僅美觀而且查看測試用例也很方便,那我們一起來學習下吧~

0 1

參考案例

要學習一個新技術,最快捷的方法就是去網上找一個demo先練習,然后結合自己的項目練手。于是我找了網上案例并適當修改了下,test_report.py文件如下:

import allure@allure.feature('天氣預報功能')class TestReportStyle(object): @allure.story('查詢上海天氣') def test_search_weather(self): login('小明', '123') with allure.step('輸入城市'): allure.attach('上海') with allure.step('點擊查詢'): pass with allure.step('查詢結果'): allure.attach('查詢成功', '期望結果') allure.attach('查詢失敗', '實際結果')????????????assert?'success'?==?'failed' @allure.story('查詢下周天氣') def test_search_nextweek(self):????????pass@allure.step('用戶登錄')def login(user, pwd): print(user, pwd)

Allure用法說明:

@allure.feature('XXX'):?測試用例需求,就相當于告訴報告這個腳本主要功能是做什么的;

@allure.story('XXX'):?測試場景,就相當于一個測試用例;

with allure.step('XX'):?測試步驟;

with?allure.attch('XX'): 測試數據,用戶輸入的測試內容或者截圖等信息;

@allure.step('XX'):?將函數作為測試步驟放入測試報告中;

0 2

結合項目實戰

?結合上一篇請求豆瓣電影的小demo,做一個優化。

import yamlimport allureimport pytestimport requestsfrom utils import comm_functiondef get_test_data(filepath): case = [] # 存放測試用例名 requests = [] # 存放http請求對象 validate = [] # 存放斷言 with open(filepath, encoding='utf-8') as f: data = yaml.load(f.read(), Loader=yaml.SafeLoader) case.append(data.get('test')) requests.append(data.get('requests')) validate.append(data.get('validate')) params = zip(case, requests, validate)????????return?case,?paramscases, parameters = comm_function.get_test_data('D:/workFile/test/pytest_demo/data/test_movie.yaml')list_params = list(parameters)print(list_params[0][1])@allure.feature('豆瓣電影列表測試用例') # 測試場景class TestInTheaters(object): @allure.story('查詢電影列表') # 測試用例 @pytest.mark.parametrize('case,http,validate', list(list_params), ids=cases) def test_in_theaters(self, case, http, validate): host = 'http://api.douban.com' with allure.step('請求豆瓣網-上映的電影'): # 測試步驟 allure.attach('start', validate['count']) # 測試數據 allure.attach('count', validate['start']) # 測試數據 res = requests.request(http['method'], url=host+http['path'], headers=http['headers'], params=http['params']) response = res.json() assert response['count'] == validate['count'] assert response['start'] == validate['start'] assert response['title'] == validate['title']

代碼運行:

第一步:將測試數據打包

pytest?腳本目錄?--alluredir?存放報告目錄

第二步:生成測試報告

allure generate -o 運行結果目錄 存放報告目錄 --clean # 清空

查看結果:

遇到的坑:

1、手機端安裝的allure,在pycharm中提示沒有allure命令。

解決辦法:

pycharm的teminal中,pip list查看當前Python下可用的插件,沒有的話安裝下

2、生成過一次的測試報告,再次運行的時候會出現以前的測試情況,明明我clean了啊?

解決辦法:

我打包測試數據的時候,運行多次,那我的測試數據當前會出現重復啦!刪除下重新運行就可以了。

pytest相關文章推薦:

1、初步了解Pytest測試框架

2、pytest+yaml實現接口自動化

總結

以上是生活随笔為你收集整理的pytest测试实战pdf_Pytest+Allure美化测试报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。