Python之Pytest测试用例的执行方法的解决办法

内容摘要
这篇文章主要为大家详细介绍了Python之Pytest测试用例的执行方法的简单示例,具有一定的参考价值,可以用来参考一下。
文章正文

这篇文章主要为大家详细介绍了Python之Pytest测试用例的执行方法的简单示例,具有一定的参考价值,可以用来参考一下。

pytest概述

pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:

1、简单灵活,容易上手,文档丰富;2、支持参数化,可以细粒度地控制要测试的测试用例;3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);4、pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;5、测试用例的skip和xfail处理;6、可以很好的和CI工具结合,例如jenkins

如下是目录结构:

1、主函数模式

(1)运行所有 pytest.main()(2)指定模块 pytest.main('[-vs],','./testcase/test_day1.py')(3)指定目录pytest.main('[-vs]'),'./testcase')(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成#pytest.main(["-vs"],'./interface_testcase/test_day3.py::test_demo11')#pytest.main(["-vs"],'./interface_testcase/test_day3.py::TestLogin::test_01_qianghong1')

2、命令行模式

(1)运行所有:pytest(2)指定模块 pytest -vs ./testcase/test_day1.py(3)指定目录 pytest -vs ./testcase(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成pytest -vs ./interface_testcase/test_day3.py::test_demo11pytest -vs ./interface_testcase/test_day3.py::TestLogin::test_01_qianghong1

参数详解:-s:表示输出调试信息,包括print打印的信息-v显示更详细的信息-vs一起使用-n支持多线程或者分布式运行测试用例#如 #pytest.main(['-vs','./testcase/test_day1.py','-n=2'])# pytest -vs ./testcase/test_day1.py -n 2#reruns==number 表示失败用例重跑#pytest -vs ./testcase/test_day2.py --reruns 2#pytest.main(['–vs','./testcase/test_day2.py',‘reruns=2']) #失败得的用例重跑两次#-x表示只要一个用例报错,那么测试停止运行#–maxfail=2 出现两个失败用例停止#-k 根据测试用例的部分字符串指定测试用例 pytest -vs test_day2 -k “yang”

3、通过读取pytest ini配置文件运行 (最主要运用的方式)

#pytest.ini是pytest单元测试框架中的核心配置文件(1)位置:一般是放在项目的根目录(2)编码:必须是ANSI,可以使用notepad++来修改编码格式(3)作用:改变pytest的默认行为(4)运行的规则:不管是主函数的模式运行该,命令行模式,都会区读取这个配置文件

代码如下:


[pytest]
addopts=-vs    #命令行参数 用空格分离
testpaths=./testcase #测试用例的路径 ./testcase/test_day2.py #
python_files=test_*.py  #模块名的规则
python_classes=Test*    #类名的规则
python_functions=test   #方法名的规则

分析Pytest测试用例的执行方法

#实际项目配置中,尽量删除注释,确保不必要的问题出现

以上就是详解Pytest测试用例的执行方法的详细内容,更多关于Pytest测试用例的资料请关注php教程其它相关文章!

注:关于Python之Pytest测试用例的执行方法的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!