详解Pytest测试用例的执行方法

 更新时间:2021年05月14日 09:12:34   作者:0o一人情  
大家应该都知道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_demo11
pytest -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测试用例的资料请关注脚本之家其它相关文章!

相关文章

  • python 实现 hive中类似 lateral view explode的功能示例

    python 实现 hive中类似 lateral view explode的功能示例

    这篇文章主要介绍了python 实现 hive中类似 lateral view explode的功能示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python实现身份证前六位地区码对照表文件

    Python实现身份证前六位地区码对照表文件

    这篇文章主要为大家详细介绍了如何利用Python实现身份证前六位地区码对照表文件,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-12-12
  • python中的pyc文件是什么

    python中的pyc文件是什么

    这篇文章主要介绍了python中的pyc文件是什么,pyc文件是Python编译过的字节码文件,这个字节码是一种低级的、与平台无关的代码,还不知道的朋友来了解一下吧
    2023-04-04
  • 浅谈Python反射 & 单例模式

    浅谈Python反射 & 单例模式

    这篇文章主要介绍了Python反射 & 单例模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • python探索之BaseHTTPServer-实现Web服务器介绍

    python探索之BaseHTTPServer-实现Web服务器介绍

    这篇文章主要介绍了python探索之BaseHTTPServer-实现Web服务器介绍,小编觉得还是挺不错的,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • 基于Python编写一个PDF转换工具箱

    基于Python编写一个PDF转换工具箱

    这篇文章主要为大家详细介绍了如何使用Python编写一个PDF转换工具箱,可以实现PDF转图片,word,拆分,删除,提取等功能,感兴趣的可以了解下
    2024-12-12
  • pytorch tensor合并与分割方式

    pytorch tensor合并与分割方式

    这篇文章主要介绍了pytorch tensor合并与分割方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python针对不同文本长度的处理方案总结与对比

    Python针对不同文本长度的处理方案总结与对比

    这篇文章主要为大家详细介绍了Python如何针对不同文本长度的处理方案,结合层次化编码和检索优化策略,感兴趣的小伙伴可以参考一下
    2025-02-02
  • pandas 对日期类型数据的处理方法详解

    pandas 对日期类型数据的处理方法详解

    这篇文章主要介绍了pandas 对日期类型数据的处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python 时间操作datetime详情(下)

    Python 时间操作datetime详情(下)

    我们在上一文datetime模块对datetime模块中包含了六个类对象如date、time、datetime等对时间和日期进行操作。这一篇文章我们继续上一篇文章的内容学习datetime模块中六大类的相关方法和属性
    2021-11-11

最新评论