allure 生成测试报告 终端中的三个命令已验证多次请放心使用


#test_demo.py
import allure
import pytest

class TestDemo:
@allure.feature('比较功能')
@allure.story('1等于1')
def test_compare_numbers(self):
expected = 1
actual = 1
assert expected == actual
 

 

#D:\python-pro\baseapi\test_case\test_login.py
import
logging import pytest import json from utils.handle_ex import HandleEx from libs.login_my import Login import allure # 获得请求体和预期结果 class TestLogin(): @pytest.mark.parametrize('payload,exc_res,title', HandleEx().get_ex()) @allure.title('{title}') # 报告添加标题 来自excel中的用例标题 def test_login(self, payload, exc_res, title): # 实例化 l = Login() # json.loads(str)->dict # 赋值给l实例 # HandleEx().get_ex()=因为[(参数1,)(参数2,)] # 参数化后获得(参数1,) # 根据下标[0]取值,获得 参数1 l.payload = json.loads(payload) res = l.login(is_need_token=False) logging.info(f"输出返回结果{res}") # 需要将不符合的false替换为False exc_res_dic=eval(exc_res.replace('false','False')) logging.info(f"预期返回值msg:{exc_res_dic['msg']}") logging.info(res['msg']==exc_res_dic['msg']) assert res['msg']==exc_res_dic['msg'] # 如果 名称等于main 输出pytest.main([文档,sv参数]) if __name__=='__main__': pytest.main([__file__,'-sv']) #__file__ 是一个Python内置变量,它表示当前脚本的文件路径。在命令行中,可以使用 __file__ 来指定要运行的测试文件;使用 -s 选项可以将这些输出打印到控制台上;-v 选项可以输出更详细的测试结果,包括每个测试用例的名称和结果

 

# 清空outfile文件夹  防止多次执行造成重复
Remove-Item -Recurse -Force outfile\*

 

# 执行allure
PS D:\python-pro\baseapi> pytest test_case/test_login.py --alluredir=outfile/allure-results
 # 生成报告  点击生成的html文件 以默认浏览器打开
PS D:\python-pro\baseapi> allure generate outfile/allure-results -o outfile/allure-report --clean

 

posted @ 2023-07-20 19:24  胖豆芽  阅读(94)  评论(0编辑  收藏  举报