Pytest框架测试用例规则和运行方式

这篇具有很好参考价值的文章主要介绍了Pytest框架测试用例规则和运行方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、默认的测试用例规则

二、测试用例执行顺序

三、测试用例运行方式

3.1.主函数模式

3.1.1.主函数模式:4种运行方式 

3.1.2.文件框架如下图 

3.2.命令行模式

3.2.1.命令行模式:4种运行方式 

3.2.2.第2种运行方式框架

3.3.通过读取配置文件pytest.ini运行

3.3.1.pytest.ini 文件注意事项

3.3.2.pytest.ini 文件释义

3.3.3.pytest.ini文件源码 


一、默认的测试用例规则

1.1.模块名【test_login】:必须以 test_开头 或者 _test结尾
1.2.测试类【Testlogin】:必须以 Test开头,并且不能有init方法
1.3.测试方法【test_01_baili】:必须以 test开头
1.4.所有的包 package 必须要有__init__.py 文件

Pytest框架测试用例规则和运行方式 

二、测试用例执行顺序

unittest:按ASCII码的大小来绝对的执行顺序

pytest:默认从上到下

改变用例默认的执行顺序:使用mark标记

三、测试用例运行方式

运行参数含义详情见:Pytest框架运行常用参数解析_沫沫18S的博客-CSDN博客

3.1.主函数模式

if __name__ == '__main__':
    pytest.main(['-vs','-m smoke','test_01_baili'])

3.1.1.主函数模式:4种运行方式 

#1.运行所有
pytest.main()
#2.指定模块[文件]
pytest.main(['-vs','test_login.py'])
#3.指定目录文件夹
pytest.main(['-vs','./interface_testcase'])
#4.指定目录文件夹2;通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成
   执行函数:无类名
pytest.main(['-vs', './interface_testcase/test_interface.py::test_01_func'])
   执行方法
pytest.main(['-vs', './interface_testcase/test_interface.py::TestInterface::test_01'])

3.1.2.文件框架如下图 

Pytest框架测试用例规则和运行方式

3.2.命令行模式

3.2.1.命令行模式:4种运行方式 

#1.运行所有文件:
pytest
#2.执行某个文件的【冒烟】用例;-m后也可以使用表达式,在标记之间添加and,or,not关键字
pytest -vs test_login.py
pytest -v -m smoke test_login.py
#3.指定目录文件夹
pytest -vs ./interface_testcase
#4.指定目录文件夹2;通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成
   执行函数:无类名
pytest -vs ./interface_testcase/test_interface.py::test_01_func
   执行方法
pytest -vs ./interface_testcase/test_interface.py::TestInterface::test_01

3.2.2.第2种运行方式框架

Pytest框架测试用例规则和运行方式

 备注:第4种运行方式框架,同主函数模式的

3.3.通过读取配置文件pytest.ini运行

3.3.1.pytest.ini 文件注意事项

pytest.ini 一般在企业自动化测试落地中使用的方式,也是pytest单元测试框架的核心配置文件

  1. 位置:一般放在项目的根目录;
  2. 名字:必须是 pytest.ini
  3. 编码格式:必须是 ANSI,可以使用notpad++修改编码格式
  4. 作用:可以改变pytest默认的测试用例规则
  5. 运行规则:不管是主函数的模式运行,命令行模式运行,都会去读取pytest.ini这个配置文件Pytest框架测试用例规则和运行方式

3.3.2.pytest.ini 文件释义

注意:含中文执行时会报错 ,去掉所有中文后,可以使用notpad++修改编码格式

Pytest框架测试用例规则和运行方式

3.3.3.pytest.ini文件源码 

[pytest]
addopts = -vs -m "smkoe"
testpaths = ./testcase/
python_files = test_*.py
python_classes = test*
python_functions = test

 备注:修改【pytest.ini文件源码 】模块名、类名、方法名的命名规则,对应模块、类、方法的名字也需要跟着pytest.ini的规则修改文章来源地址https://www.toymoban.com/news/detail-508375.html

到了这里,关于Pytest框架测试用例规则和运行方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 火爆全网,Pytest自动化测试框架-测试用例执行与失败重跑(实战详细)

    用例执行状态 用例执行完成后,每条用例都有自己的状态,常见的状态有 passed:测试通过 failed:断言失败 error:用例本身写的质量不行,本身代码报错(譬如:fixture不存在,fixture里面有报错) xfail:预期失败,加了 @pytest.mark.xfail() error例子1:参数不存在 为啥是error pwd参数

    2024年02月11日
    浏览(31)
  • 接口自动化测试框架(pytest+allure+aiohttp+ 用例自动生成)

    近期准备优先做接口测试的覆盖,为此需要开发一个测试框架,经过思考,这次依然想做点儿不一样的东西。 接口测试是比较讲究效率的,测试人员会希望很快能得到结果反馈,然而接口的数量一般都很多,而且会越来越多,所以提高执行效率很有必要 接口测试的用例其实

    2024年02月07日
    浏览(45)
  • 接口自动化测试框架开发(pytest+allure+aiohttp+ 用例自动生成)

    近期准备优先做接口测试的覆盖,为此需要开发一个测试框架,经过思考,这次依然想做点儿不一样的东西。 接口测试是比较讲究效率的,测试人员会希望很快能得到结果反馈,然而接口的数量一般都很多,而且会越来越多,所以提高执行效率很有必要 接口测试的用例其实

    2024年01月23日
    浏览(39)
  • 接口自动化测试框架开发 (pytest+allure+aiohttp+ 用例自动生成)

    目录 前言: 第一部分(整个过程都要求是异步非阻塞的) 读取 yaml 测试用例 http 请求测试接口 收集测试数据 第二部分 动态生成 pytest 认可的测试用例 后续(yml 测试文件自动生成) 前言: 开发一个接口自动化测试框架是一个很好的方式,可以提高测试效率和准确性。在这

    2024年02月16日
    浏览(46)
  • 从0到1精通自动化测试,pytest自动化测试框架,skip跳过用例(八)

    pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者希望自己失败的测试功能 skip意味着只有在满足某些条件时才希望测试通过,否则pytest应该跳过运行测试。 常见示例是在非Windows平台上跳过仅限Windows的测试,或跳过测试依赖于当前不可用的外部资源(例如数据库

    2024年02月11日
    浏览(43)
  • 精通自动化,Pytest自动化测试框架-fixture用例的前后置(实现)

    测试用例实现前后置,有多种方法。在实际编写测试脚本时,要根据实际情况选择 1、xunit类型 2、unittest类型 3、pytest中的fixture类型 定义夹具

    2024年02月15日
    浏览(36)
  • 从0到1精通自动化测试,pytest自动化测试框架,测试用例setup和teardown(三)

    目录 一、前言 二、用例运行级别 三、函数式 1、setup_function / teardown_function 2、setup_module / teardown_module 四、类和方法 五、函数和类混合 学过 unittest 的都知道里面用前置和后置 setup 和 teardown 非常好用,在每次用例开始前和结束后都去执行一次 当然还有更高级一点的 setupCla

    2024年02月09日
    浏览(33)
  • 测试框架pytest教程(4)运行测试

    会运行该文件内test_开头的测试方法  该 -q/--quiet 标志使输出保持简短  pytest的测试用例可以不写在类中,但如果写在类中,类名需要是Test开头,非Test开头的类下的test_方法不会被搜集为用例。 将测试用例分组到类中的优点: 测试组织:将相关的测试用例组织到同一个类中

    2024年02月12日
    浏览(31)
  • jenkins运行pytest测试用例脚本报错:没有权限,无法写日志PermissionError:[Error 13]Permission denied

    报错信息: PermissionError:[Error 13]Permission denied:‘/var/jenkins_home/workspace/deleverySystem/Delivery_System/out_files/logs/waimai_20230823.log’ 解决方法: 在jenkins容器内部输入

    2024年02月11日
    浏览(35)
  • pytest框架快速进阶篇-pytest前置和pytest后置,skipif跳过用例

     一、 Pytest的前置和后置方法 1.Pytest可以集成unittest实现前置和后置 注意:setUpClass和tearDownClass需要用@classmethod装饰器装饰。 2.Pytest前置和后置 注意:setup、teardown、setup_class、teardown_class都是小写! 二、跳过用例 使用方法:   @pytest.mark.skipif(21,reason=\\\'当条件不True时跳过\\\') 使用

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包