2021-7-16
#运行用例生成报告
import unittest,os
from common.html_reporter import GenerateReport
if __name__ == "__main__":
suite = unittest.defaultTestLoader.discover(os.path.join(os.path.dirname(__file__),"tests"),
pattern='*.py',top_level_dir=os.path.dirname(__file__))
html_report = GenerateReport()
html_report.generate_report(suite)
===================================
#pytest运行所有用例
#coding=utf-8
import pytest
import os
import glob
#查找所有待执行的测试用例module
def find_module_from_floder(floder):
absolute_f=os.path.abspath(floder)
md=glob.glob(os.path.join(absolute_f,"*.py"))
return [f for f in md if os.path.isfile(f) and not f.endswith('__init__.py')]
if __name__ == '__main__':
#得出测试文件夹地址
test_folder=os.path.join(os.path.dirname(__file__),'test')
#得出测试文件夹下的所有测试用例
targe_file=find_module_from_floder(test_folder)
#直接运行所有测试用例
pytest.main([*targe_file,'-v'])
===================================
#pttest.int配置文件
[pytest]
python_classes=*
python_files=*
pythong_functions=test*
#pttest.int配置文件
#运行打标签案例
[pytest]
tsetpaths=tests
markers=
smoke:冒烟案例
sanity:系统案例
#指定目录
[pytest]
tsetpaths=tests
===============================
#运行生成allure报告 cmd窗口
根目录下
1、pytest --alluredir=./allure_reports
2、allure serve allure_reports
# 在python执行所有的标记为smoke的测试用例,并且报告文件夹设置为allure_reports
import pytest
pytest.main(["-m", "smoke",
"--alluredir=./allure_reports"])
==============================
打标签案例运行
逻辑运算:
And 必须同时具备两个标签。
Or 只需要满足其中的一格标签即可运行
Not 剔除NOT后的标签名用例。
===================================
传一个参数 @pytest.mark.parametrize(‘参数名’,list) 进行参数化
传两个参数@pytest.mark.parametrize(‘参数名1,参数名2’,[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化
===============================
浙公网安备 33010602011771号