【自动化测试教程】 —— pytest 框架详解 ~

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

【自动化测试教程】 —— pytest 框架详解 ~,软件测试,自动化测试,pytest,功能测试,压力测试,自动化

pytest框架

特点:

  1. 容易上手, 入门简单, 文档丰富, 文档中有很多参考案例
  2. 支持简单的单元测试和复杂的功能测试
  3. 支持参数化
  4. 执行测试用例过程中, 支持跳过操作
  5. 支持重复失败的case
  6. 支持运行Nose, unittest编写测试用例
  7. pytest支持很多第三方插件
  8. 方便和持续集成工具集成

1. pytest断言

断言方法: assert result 

2. pytest方法级别的fixture

  • pytest方法级别的fixture是针对每个测试方法, 在执行测试方法前会执行fixxture初始化操作, 在执行完测试方法后, 执行fixture销毁操作
  • 初始化操作方法: def setup(self): 方法来实现
  • 销毁的操作方法: def teardown(self): 方法来实现

3. pytest类级别的实现

  • pytest类级别的fixture针对每一个测试类的初始化和销毁操作, 可以放在一下两个方法中
    • 类级别初始化的方法: def setup_class(self):
    • 类级别销毁的方法: def teardown_class(self):
    • 方法名称固定, 不能修改

4. pytest配置文件

pytest的配置文件有固定的三个名称:  pytest.ini     tox.ini

1

2

3

4

5

6

[pytest]  # 标识当前文件是pytest的配置文件

addopts = --# 标识pytest执行时增加的参数

testpaths = ./scripts # 匹配搜索目录

python_files = test_*.py # 匹配测试文件

python_classes = Test* # 匹配测试类

python_functions = test_* # 匹配测试方法

5. 控制用例的执行顺序

  • unittest测试用例执行顺序是根据测试方法名称的assic码值大小来的, 值越小排在越前面
  • pytest正常情况下是根据测试方法的从上到下的顺序来执行
  • 可以通过pytest-ording插件来控制pytest测试方法执行的顺序
  • 使用
    • @pytest.mark.run(ordeer=x)    # x表示的是整数(既可以是整数也可以是负数)
    • 全为负数或者整数时, 值越小, 优先级越高
    • 既有正数, 又有负数, 那么正数优先级高
    • 没有确定执行顺序的用例优先于负数

6. 失败重试

  • 安装插件pytest-rerunfailures
  • 使用
    • 在addopts参数行中增加对应的参数配置项:    --reruns x(x为一个整数, 代表要执行几次)
    • 当重复执行成功时, 就不会再重复执行

7. 跳过

  • @pytest.mark.skipif(condition, reason=None)
    • condition表示的是跳过的条件
    • 这里的reason参数必填
  • @pytest.mark.skip(reason=None)
    • reason表示的是跳过的原因

8. 数据的参数化

  • pytest参数化的实现: @pytest.mark.parameterize(argnames, argvalues)
    • argnames表示的是参数的名字, 是一串字符, 多个参数之间由逗号隔开 "username, password"
    • argvales 表示的是参数化的数据, [("1111", '1234'), ("2222", '1111')]
    • argname订单参数个数要与argvalues例面的测试数据的个数要相同, 否则会报错

最后: 可以在我的VX公众号:【自动化测试老司机】免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。文章来源地址https://www.toymoban.com/news/detail-524262.html

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

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

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

相关文章

  • Pytest自动化测试框架---(单元测试框架)

    unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发一些功能(报告,初始化webdriver,或者http请求方法)便可实现。 但自

    2024年02月14日
    浏览(47)
  • pytest 框架自动化测试

    随笔记录 目录 1. 安装  2. 安装pytest 相关插件 2.1 准备阶段 2.2 安装  2.3 验证安装成功  3. pytest测试用例的运行方式 3.1 主函数模式 3.1.1 主函数执行指定文件  3.1.2 主函数执行指定模块 3.1.3 主函数执行某个文件中的某个类、方法、函数 3.1.4 主函数执行生成allure报告 3.2 命令

    2024年02月19日
    浏览(37)
  • 从0到1精通自动化测试,pytest自动化测试框架,doctest测试框架(十四)

    doctest从字面意思上看,那就是文档测试。doctest是python里面自带的一个模块,它实际上是单元测试的一种。 官方解释:doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果 doctest测试用例可以放在两个地方 函数或者方法下的注释里面 模块的

    2024年02月11日
    浏览(67)
  • 从0到1精通自动化测试,pytest自动化测试框架,配置文件pytest.ini(十三)

    pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行 pytest里面有些文件是非test文件 pytest.ini pytest的主配置文件,可以改变pytest的默认行为 conftest.py 测试用例的一些fixture配置 _init_.py 识别该文件夹为python的package包

    2024年02月11日
    浏览(38)
  • 自动化测试框架 —— pytest框架入门篇

    今天就给大家说一说pytest框架。 今天这篇文章呢,会从以下几个方面来介绍: 1、首先介绍一下pytest框架 2、带大家安装Pytest框架 3、使用pytest框架时需要注意的点 4、pytest的运行方式 5、pytest框架中常用的插件 pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效

    2024年02月03日
    浏览(44)
  • pytest接口测试自动化框架

    目录 pytest简介及安装 pytest的使用规则 pytest运行方式 主函数方式 命令行方式 跳过、标记及预期失败特殊场景处理 pytest前后置、夹具 pytest高级用法fixture pytest接口断言 pytest结合allure-pytest生成allure测试报告         谈起用例管理框架:python中的unittest、pytest;java中的test

    2024年02月06日
    浏览(71)
  • 软件测试Pytest实现接口自动化应该如何在用例执行后打印日志到日志目录生成日志文件?

    Pytest可以使用内置的logging模块来实现接口自动化测试用例执行后打印日志到日志目录以生成日志文件。以下是实现步骤: 1、在pytest配置文件(conftest.py)中,定义一个日志输出路径,并设置logging模块。 2、在测试用例中调用logging模块,输入需要生成的日志信息。 3、运行p

    2024年02月10日
    浏览(45)
  • Selenium+Pytest自动化测试框架

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

    2024年02月07日
    浏览(40)
  • 引入成熟的Pytest自动化测试框架

    虽然我们能使用脚本编写自动化测试框架,但没有必要重复找车轮子, 引入成熟的自动化测试框架 即可, Pytest是目前最成熟、功能最全面的Python测试框架之一 ,简单灵活、易于上手,可完全兼容其他测试框架如unitest,支持参数化和测试编排功能,扩展性强。 1、安装Pytes

    2024年02月20日
    浏览(27)
  • Selenium + Pytest自动化测试框架实战(上)

    今天呢笔者想和大家来聊聊selenium自动化+ pytest测试框架,在这篇文章里你需要知道一定的python基础——至少明白类与对象,封装继承;一定的selenium基础。这篇文章不会selenium,不会的可以自己去看selenium中文翻译网哟。 测试框架有什么优点呢 : 代码复用率高,如果不使用框

    2024年04月27日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包