pytest框架介绍

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

pytest框架介绍

一,pytest单元测试框架


1. 什么是单元测试框架
  • 单元测试是指在软件开发中,针对的软件的最小单位(函数,方法)进行正确性的检测

2. 单元测试框架
  • java:Junit和testng

  • python:unittest和pytest

3. 单元测试框架是做什么的?
  1. 测试发现:找执行文件

  1. 测试执行:按照一定的规则执行

  1. 测试判断:通过断言判断

  1. 测试报告:统计执行进度,好事,通过率,生成测试报告

  • 二 、 单元测试框架和自动化测试框架的关系:

  1. 什么是自动化测试框架

封装了 技术 管理等模块

  1. 作用:提高效率和维护成本,减少人工干预和增加准确性,增加代码的重用性

  1. pytest单元测试框架和自动化测试框架的关系

单元测试框架:只是自动化测试框架中的组成部分之一

pom设计模式

数据驱动

关键字驱动

全局配置文件的封装

日志监控

selenium,request二次封装

断言

报告邮件

更多都是自动化测试框架中的组成部分之一

三 、 pytest简介


  1. pytest 是非常成熟的pytest的单元测试框架,比unittest更灵活,容易上手

  1. 可以和selenlum,request,applum结合实web自动化,接口自动化,app自动化

  1. 可以实现测试用例的跳过及reruns的失败用例重试

  1. 可以和allure生成非常美观的测试报告

  1. pytest和Jenkins持续继承

  1. 有很多插件,实现实用的操作:

  • pytest,

  • pytest-html :生成html的自动化测试报告

  • pytest-xdist:测试用例的分布式执行,多cpu分发

  • pytest-ordering:改变测试用例的执行顺序

  • pytest-rerunfailures:用例失败后重跑

  • alluer-pytest:用于生成美观的测试报告

pytest框架详解,pytest,单元测试,python,Powered by 金山文档

将包名写在requirements.txt中,pip install -r equirements.txt 全部下载

四、pytest 规则和基础应用


  1. 模块名必须以test开头或者test结尾

  1. 测试类必须以Test开头,并且不能有init方法

  1. 测试方法必须以test开头

五、pytest测试用例的运行方法


  1. 主函数模式:

  • 运行所有:pytest.main()

  • 指定模块:pytest.main(['-vs','test_login.py'])

  • 指定目录:pytest.main(['-vs','/interface_testcase'])

  • 通过nodeid指定用例执行:nodeid由 模块名,分割符,类名,方法名,函数名组成

pytest.main(["-vs",'./interface_testcase/test_interface.py::test_04_func'])

pytest.main(["-vs",'./interface_testcase/test_interface.py::Test_interface::test_01'])

  1. 命令行的模式:

  • 运行所有:pytest

  • 指定模块:pytest -vs test_login.py

  • 指定目录:pytest.main -vs | /interface_testcase

  • nodeid:pytest -vs ./interface_testcase/test_interface.py::Test_interface::test_01

参数详解:

  • -s:输出调试信息,包括print的打印信息

  • -v:显示更详细的信息

  • -vs:这两个参数一起用

  • -n:多线程或者分布式运行用例:pytest.main(["-vs","-n=3"])

  • --reruns:用例失败后,重跑的次数:pytest.main(["-vs","./testcase","-n=2","--reruns=2"])

  • -x:只要有一个用例报错,就停止

  • --maxdfail=2: 允许失败两次,不影响用例执行

  • -k:根据测试用例的部分字符串执行测试用例

  • -html:./report/report.html 生成html的测试报告

如:pytest -vs ./testcase -k "ao"

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

  • pytest.ini:是pytest单元测试框架的核心配置文件

  • 位置:一般是根目录

  • 编码:必须是ANSI,推荐使用nopad++

  • 作用:更改pytest的默认行为

  • 运行的规则:启动配置

[pytest]

#命令行参数,用空格分开

addopts=-vs--html=./report/report.html

#配置测试文件夹

testpaths= ./testcase

#测试搜索的模块文件名称

python_files=test*.py

#测试搜索的测试类名

python_classes=Test*

#测试搜索的测试函数名

python_funtions=test*

六、pytest用例的执行顺序


unittest:ascii的大小来决定执行顺序

pytest:默认是从上到下

改变默认的顺序:使用Mark标记

@pytest.mark.run(order=3)

七、分组执行(冒烟,分模块执行,分接口和web执行)


smoke:冒烟用例,分布在各个模块里

pytest.main(['-m smoke or usermanger'])

markers=

smoke:冒烟用例

usermanger:用户管理模块

productmanager:商品管理模块

八、pytest跳过测试用例


  1. 无条件跳过:

@pytest.mark.skip(reason='太慢')

  1. 有条件跳过:

@pytest.mark.skipif(age>18,reason='已成年')#满足条件不执行文章来源地址https://www.toymoban.com/news/detail-598097.html

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

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

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

相关文章

  • Python 面试:单元测试unit testing & 使用pytest

    calc.py test_calc.py employee.py test_employee.py 输出为: setupClass setUp test_apply_raise tearDown .setUp test_email tearDown .setUp test_fullname tearDown .teardownClass Ran 3 tests in 0.001s OK employee.py test_employee.py 输出为: setupClass setUp test_apply_raise tearDown .setUp test_email tearDown .setUp test_fullname tearDown .setUp tearDown

    2024年02月10日
    浏览(32)
  • 【自动化测试教程】 —— pytest 框架详解 ~

    特点: 容易上手, 入门简单, 文档丰富, 文档中有很多参考案例 支持简单的单元测试和复杂的功能测试 支持参数化 执行测试用例过程中, 支持跳过操作 支持重复失败的case 支持运行Nose, unittest编写测试用例 pytest支持很多第三方插件 方便和持续集成工具集成 断言方法: assert res

    2024年02月12日
    浏览(32)
  • Selenium+Pytest自动化测试框架详解

    selenium自动化+ pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承; 一定的selenium基础——本篇不讲selenium,不会的可以自己去看selenium中文翻译网 测试框架有什么优点 代码复用率高,如果不使用框架的话,代码会很冗余 可以组装日志、报告、邮件等

    2024年02月08日
    浏览(69)
  • 自动化测试框架pytest系列之21个命令行参数介绍(二)

    第一篇 :  自动化测试框架pytest系列之基础概念介绍(一)-CSDN博客 接上文 3.pytest功能介绍 3.1 第一条测试用例 首先 ,你需要编写一个登录函数,主要是作为被测功能,同时编写一个测试脚本 ,进行测试登录功能 。 登录函数脚本: login.py 测试脚本 :test01_login.py 3.2 pytest的运行

    2024年02月02日
    浏览(24)
  • 自动化测试中如何判断测试是否通过?详解 Pytest 测试框架的断言用法

    目录 前言: 01 — Python 原生的 assert 02 — Pytest 的 assert 优点 03 — Pytest 断言的用法 4.1 断言字符串 4.2 断言函数或者接口返回值 4.3 断言集合类型 04 — Pytest 断言 Excepiton 05 — 为断言添加自定义功能 06 — 禁止 Pytest 的 assert 特性 07 — 总结 在自动化测试中,判断测试是否通过是

    2024年02月16日
    浏览(42)
  • Python测试框架 Pytest —— mock使用(pytest-mock)

    安装:pip install pytest-mock 这里的mock和unittest的mock基本上都是一样的,唯一的区别在于pytest.mock需要导入mock对象的详细路径。 先将需要模拟的天气接口,以及需要模拟的场景的代码写好,然后在进行遵循pytest的用例规范进行书写关于mock的测试用例 通过上述代码,提供pytest中

    2024年02月09日
    浏览(30)
  • Python自动化测试:unittest与pytest框架

    在Python中, unittest 和 pytest 都是常用的自动化测试框架。它们提供了编写测试用例、测试套件和执行测试的强大功能。 1. unittest框架 unittest 是Python标准库的一部分,因此无需额外安装。它提供了丰富的断言方法,用于验证测试结果。 示例代码: python复制代码 import unittest c

    2024年02月20日
    浏览(35)
  • 【Python】案例介绍Pytest进行压力测试

    在现代Web应用程序中,性能是至关重要的。为了确保应用程序能够在高负载下正常运行,我们需要进行性能测试。 今天,应小伙伴的提问, 田辛老师来写一个Pytest进行压力测试的简单案例。 这个案例的测试网站我们就隐藏了,不过网站的基本情况是: 阿里云服务器:CentO

    2024年02月07日
    浏览(29)
  • Python基础介绍 —— 使用pytest进行测试!

    Pytest 是 Python 的一种单元测试框架,与 Python 自带的 unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。 Pytest 是 Python 的一种单元测试框架,与 Python 自带的 unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。 适合从简单的单元到复杂的

    2024年02月05日
    浏览(34)
  • 单元测试框架之unittest详解

    1.unittest简介 unittest是python自带的单元测试框架,不仅仅适用于单元测试,还可用于web端、appium、接口自动化测试用例的开发与执行。   2.unittest四大核心组件 1)TestCase: 测试用例类,用来定义用例函数 2)TestSuite: 测试套件,用于收集测试用例 3)TestRunner:测试用例运行类,用

    2024年02月15日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包