详解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制作游戏下载进度条的代码(程序说明见注释)

    使用python制作游戏下载进度条的代码(程序说明见注释)

    这篇文章主要介绍了用python制作游戏下载进度条的代码(程序说明见注释),代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Python处理中文标点符号大集合

    Python处理中文标点符号大集合

    中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏,下面小编给大家带来了Python处理中文标点符号大集合,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-05-05
  • Python 学习教程之networkx

    Python 学习教程之networkx

    networkx是Python的一个包,用于构建和操作复杂的图结构,提供分析图的算法。对Python networkx相关知识感兴趣的朋友跟随小编一起看看吧
    2019-04-04
  • Python安装tar.gz格式文件方法详解

    Python安装tar.gz格式文件方法详解

    这篇文章主要介绍了Python安装tar.gz格式文件方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • python中的循环语法使用指南

    python中的循环语法使用指南

    这篇文章主要给大家介绍了关于python中循环语法使用的相关资料, 循环语句是Python中的一种基本语句,用于重复执行一段代码。在Python中,循环语句分为for和while两种,需要的朋友可以参考下
    2023-08-08
  • pytorch 彩色图像转灰度图像实例

    pytorch 彩色图像转灰度图像实例

    今天小编就为大家分享一篇pytorch 彩色图像转灰度图像实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python print不能立即打印的解决方式

    Python print不能立即打印的解决方式

    今天小编就为大家分享一篇Python print不能立即打印的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python的时间模块datetime详解

    Python的时间模块datetime详解

    本文给大家分享的是在python中的时间模块datetime的使用方法,注意事项以及简单示例,有需要的小伙伴可以参考下
    2017-04-04
  • python等差数列求和公式前 100 项的和实例

    python等差数列求和公式前 100 项的和实例

    今天小编就为大家分享一篇python等差数列求和公式前 100 项的和实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python opencv 图像拼接的实现方法

    python opencv 图像拼接的实现方法

    高级图像拼接也叫作基于特征匹配的图像拼接,拼接时消去两幅图像相同的部分,实现拼接合成全景图。这篇文章主要介绍了python opencv 图像拼接,需要的朋友可以参考下
    2019-06-06

最新评论