Python测试框架之前一直用的是unittest+HTMLTestRunner,听到有人说Pytest很好用,所以这边给大家介绍一下Pytest的使用
pytest是一个非常成熟的全功能的Python测试框架,主要有一下几个特点:
1、简单灵活,容易上手
2、支持参数化能够支持简单的单元测试和复杂的功能测试,还可以用来做Selenium/Appnium/接口自动化测试
3、Pytest具有很多第三方的插件,并且可以自定义扩展,比较好用的如Pytest-Selenium、pytest-html、pytest-rerunfailures、pytest-xdist等
4、测试用例的skip和xfail处理可以很好的鸡儿Jenkins集成report框架----allure也支持了pytest
(1)、什么是单元测试框架
单元测试框架是指在软件开发中,针对软件的最小单位(函数、方法)进行正确性的检查测试、
(2)、单元测试框架
JAVA:junit和testng
Python:unittest 和Pytest
(3)、单元测试框架主要做什么?
(1)、什么是自动化测试框架
它就是自动化测试组长针对一个项目开发的一个代码框架,这个框架封装了很多的基础模块,报告模块等。
(2)、作用
(3)、pytest单元测试框架和自动化测试框架的关系。
(1).pytest是一个非常成熟的python的单元框架,比unittest更灵活。
(2).pytest可以和selenium,requests,appium结合实现web自动化,接口自动化,app自动化。
(3).pytest可以实现测试用例的跳过以及reruns失败用例重试。
(4).pytest可以和allure生成非常美观的测试报告。
(5).pytest可以和Jenkins持续集成。\
(6).pytest有很多非常强大的插件,并且这些插件能够实现很多的实用的操作。
(1).模块名必须以test_开头或者_test结尾
(2).测试类必须以Test开头,并且不能有init方法。
(3).测试方法必须以test开头
(1)、主函数模式
pytest.main([’-vs’,’./interface_testcase/test_interface.py::test_04_func’])
pytest.main([’- vs’,’./interface_testcase/test_interface.py::TestInterface::test_03_zhiliao’])
(2).命令行模式
参数详解:
(3).通过读取pytest.ini全局配置文件运行。
pytest.ini这个文件它是pytest单元测试框架的核心配置文件。
[pytest]
unittest:ascII的大小来绝对的执行的顺序
pytest:默认从上到下
改变默认的执行顺序:使用mark标记。
@pytest.mark.run(order=3)
smoke:冒烟用例,分布在各个模块里面
pytest -m “smoke”
pytest -m "smoke or usermanage or productmanage
(1).无条件跳过
@pytest.mark.skip(reason=“微微太漂亮”)
(2).有条件跳过
@pytest.mark.skipif(age>=18,reason=‘已成年’)
本文共有三集,后续点击文字链接
Pytest测试框架入门到精通(二)
Pytest测试框架入门到精通(三)
并且对Pytest的讲解有配套的视频,如果你想要免费获取这套视频或者此文对你有帮助,或者你对此文有任何疑问,
欢迎加入软件测试技术群:798478386,群里发放的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。