pytest框架详解,pytest测试框架从入门到精通
pytest简介pytest是一个非常成熟的全功能Python测试框架,具有以下特点:
1.简单、灵活且易于使用
2.支持参数化
3.它可以支持简单的单元测试和复杂的功能测试,也可以用来进行自动化测试,比如selenium/appnium和接口自动化测试(pytest请求)
4.pytest有很多第三方插件,可以自定义扩展,比如pytest-selenium(集成selenium)、pytest-html(完美的html测试报告生成)、pytest-rer failures(失败案例重复执行)、pytest-xdist(多CPU分布)等。
5.测试用例的skip和xfail处理
6.它可以很好地与詹金斯集成
7 .报告框架——allure也支持pytest
Py命名规范:1。测试用例文件名应该以test_开头或以_test结尾。
2.命名测试函数,测试类的方法名要以test_开头。
3.测试类名应该以Test开头。
被测试的类不应该有构造函数。
pytest case
1、主函数模式
的操作模式(1)运行全部:pytest.main()
(2指定模块:pytest.main ([-vs , test _ login.py])
(3指定目录:pytes.main ([-vs ,。/interface _ testcase])
(4通过nodeid指定用例操作:nodeid由模块名、分隔符、类名、方法名和函数名组成。
pytest.main([-vs ,。/interface _ test case/test _ interface . py:test _ 04 _ func ])
pytest.main([-vs ,。/interface _ test case/test _ interface . py:test interface:test _ 04 _ func ])
2、命令行模式
(1)运行全部:pytest
(2)指定模块:pytest -vs test_login.py
指定目录:pytes -vs ./interface_testcase
(4)通过nodeid指定用例操作:nodeid由模块名、分隔符、类名、方法名和函数名组成。
py test-vs ./interface _ test case/test _ interface . py:test _ 04 _ func
py test-vs ./interface _ test case/test _ interface . py:test interface:test _ 04 _ func
参数详细信息:-s:表示输出调试信息,包括print打印的信息。
-v:显示更详细的信息。
-vs:两个参数一起使用
-n:支持多线程或分布式运行用例。
例如py test-vs ./test case/test _ log in . py-N2
-return num:失败的用例重新运行,失败后num重新运行的次数。
-x:表示只要一个用例有错误,测试就停止。
max fall=2:当两个用例失败时停止。
-k:根据测试用例的速度字符串指定测试用例。
例如py test-vs ./test case-k“ao”
3、通过读取pytest.ini配置文件运行
pytest.ini文件是pytest单元测试框架的核心配置文件。
1.位置:一般放在项目的以下目录中。
2.编码:必须是ANSI,编码格式可以用notpad修改。
3.函数:改变pytest的默认行为。
4.运行规则:无论主函数运行在模式还是命令模式,都会读取这个配置文件。
用例的Py执行顺序:单位:ASCII的大小决定了执行顺序
Pytest:默认情况下从上到下
更改默认执行顺序并使用ssdhy标签。
@pytest.ssdhy.run(order=2)
最后:分享一波软件测试数据!
技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。
九月十月面试季,跳槽季,跳槽季,整理面试问题是我多年的习惯!以下是我这几年的收集整理,整体围绕【软件测试】展开。主要内容包括:python自动化测试独家视频、Python自动化细节、全套面试问题等知识内容。
愿你我相遇,皆有所获! 如果对软件测试、接口测试、自动化测试、面试经验交流。关注微信公众号:【伤心的辣条】 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!
推荐文章:自动化测试到底想学什么?
跳槽为什么不考虑腾讯?说说我和鹅厂的过去。
自动化测试和人工测试哪个更先进?
新手必看:如何写出合格的测试用例?
python接口测试的日志和解题(干货)