因為用心,才會喜歡

粥雨

随笔分类 -  Pytest

1
Python + Pytest 自动化测试框架
摘要:## Pytest - 配置文件 pytest.ini **前言** + `pytest.ini` 配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。 + **作用:**可以改变 pytest 的默认行为; + **位置:**一般放 阅读全文
posted @ 2023-06-10 11:36 粥雨 阅读(36) 评论(0) 推荐(0) 编辑
摘要:## Pytest - 配置文件 - conftest.py ### 前言 + 如果在多个测试文件中的用到相同的 `fixture函数`,则可以将其移动到 `conftest.py` 文件中 + `conftest.py` 是专门存放 `fixture` 的配置文件; + 例如:如果测试用例都需要进 阅读全文
posted @ 2023-05-31 17:53 粥雨 阅读(127) 评论(0) 推荐(0) 编辑
摘要:## Pytest - 重命名fixture函数名称(name) + fixture 设置参数 `name=value` 后,可以**重命名fixture函数名称**,运行时**传入重命名后的fixture函数名**即可。 + 使用重命名的fixture函数,可以使用装饰器:`@pytest.mar 阅读全文
posted @ 2023-05-31 17:51 粥雨 阅读(89) 评论(0) 推荐(0) 编辑
摘要:## Pytest - 测试用例传参给Fixture + 大多数时候我们在fixture封装的是登陆、获取cookie等操作,但是一个系统可能不止一个用户,有多个用户; + 在写测试用例的时候,如何告诉fixture我们需要登录哪个用户? + 可以通过测试用例给 `fixture` 传递参数,指定登 阅读全文
posted @ 2023-05-30 18:19 粥雨 阅读(316) 评论(0) 推荐(0) 编辑
摘要:## Pytest - Fixture传参给测试用例 + 如果想要依赖fixture传递参数给测试用例,可以通过 `yield` 或者 `return` 来返回参数; + `yield`:实现setup和teardown,并将参数传递给测试用例; + `return` :仅实现setup,并将参数传 阅读全文
posted @ 2023-05-30 18:00 粥雨 阅读(171) 评论(0) 推荐(0) 编辑
摘要:## Pytest - 作用域依赖关系 + 添加了 `@pytest.fixture` ,如果fixture还想依赖**其他fixture**,需要用函数传参的方式: + 当一个函数请求另一个函数时,首先执行另一个函数。 + 如果函数 `b` 请求函数 `a`,函数 `a` 将首先执行,因为 `b` 阅读全文
posted @ 2023-05-30 17:31 粥雨 阅读(40) 评论(0) 推荐(0) 编辑
摘要:## Pytest - 作用域执行顺序 + 如果有多个、不同作用域的需要执行,要弄清楚它们将执行的顺序; + pytest首先执行范围更高的fixtrue; + 在请求fixture函数中,先执行**较高作用域**范围的fixture(**session,package,module**); + 再 阅读全文
posted @ 2023-05-30 17:28 粥雨 阅读(54) 评论(0) 推荐(0) 编辑
摘要:## Pytest - Fixture作用域混用 + 若测试用例调用多个不同级别的作用域,都会同时生效: > conftest.py ```python import pytest """会话级别fixture,作用域当前目录""" @pytest.fixture(scope="session") 阅读全文
posted @ 2023-05-29 09:24 粥雨 阅读(40) 评论(0) 推荐(0) 编辑
摘要:## Pytest - Fixture作用域(scope) + 之前讲过,fixture里面有个 `scop` 参数,这个参数就是填写fixture作用域的; + `function`:每一个函数或方法都会调用; + `class`:每一个类调用一次,一个类中可以有多个方法; + `module`: 阅读全文
posted @ 2023-05-27 10:24 粥雨 阅读(153) 评论(0) 推荐(0) 编辑
摘要:## Pytest - 测试用例调用fixture + 写了fixture方法之后,如果没有配置自动运行,测试用例不去调用,那么fixture是不会运行的; + 使用fixture的方式就两种:手动调用、自动运行; ### 函数传参方式 + 将fixture装饰的函数名称,作为**测试用例函数输入参 阅读全文
posted @ 2023-05-26 17:05 粥雨 阅读(120) 评论(0) 推荐(0) 编辑
摘要:## Pytest - yield遇到异常 + 如果yield前面的代码,即setup部分已经抛出异常了,则不会执行yield后面的teardown内容; + 如果测试用例抛出异常,yield后面的teardown内容还是会正常执行; > test_py.py ```python import py 阅读全文
posted @ 2023-05-26 17:04 粥雨 阅读(92) 评论(0) 推荐(0) 编辑
摘要:## Fixture 实现setup和teardown(yield) + 用 fixture 实现 `teardown` 并不是一个独立的函数,而是用 ` yield` 函数来开启 `teardown ` 操作; + 具体yield是什么,可以去度娘一下~ > test_py.py ```pytho 阅读全文
posted @ 2023-05-26 09:06 粥雨 阅读(23) 评论(0) 推荐(0) 编辑
摘要:## Pytest - Fixture 入门&概述 + 之前讲过测试用例的前置和后置的方法,可以使用 `setup` 和 `teardown` 函数实现,但是这种方法是用于全部测试用例的;当我有部分测试用例不需要 `setup` 的方法该怎么办? + pytest 提供了`fixture` 方法, 阅读全文
posted @ 2023-05-25 21:08 粥雨 阅读(28) 评论(0) 推荐(0) 编辑
摘要:## Pytest - setup 和 teardown + 执行用例肯定有些需要前置条件或后置操作,例如前置的用户登陆,后置的清理数据等操作; + unittest提供了两种前置(setup、setupClass)和两种后置(teardown、teardownClass); + 相比之下,pyte 阅读全文
posted @ 2023-05-25 15:04 粥雨 阅读(96) 评论(0) 推荐(0) 编辑
摘要:### 断言失败继续执行 **前言** + 一般情况下我们在使用 `assert` 断言失败后,后面的代码就**不会继续运行**; + 如果我们想要在断言失败后想要继续运行代码,就不能使用 assert 进行验证; + 一个可以允许 pytest 测试用例中,执行多个失败的断言的插件: + 多重断言 阅读全文
posted @ 2023-05-24 18:42 粥雨 阅读(899) 评论(0) 推荐(0) 编辑
摘要:### 命令执行方法 + 讲解下pytest分别在Windows,Linux,Pycharm中,执行pytest的方法; + 追加的参数可以参考: + [Pytest - pytest 命令(2) - 命令参数及含义](https://www.cnblogs.com/mzline/p/1741946 阅读全文
posted @ 2023-05-24 18:40 粥雨 阅读(683) 评论(0) 推荐(0) 编辑
摘要:### 常用断言方法 + 与unittest相比,pytest的断言使用的是python自带的 `assert` 关键字来进行断言。 - assert 关键字后面可以接一个表达式: - 表达式的最终结果为 `True` ,那么断言**通过**,用例执行成功; - 表达式的最终结果为 `False` 阅读全文
posted @ 2023-05-23 16:33 粥雨 阅读(196) 评论(0) 推荐(0) 编辑
摘要:## pytest 常用命令 ### 测试信息输出 ```python # 设置pytest的执行参数 "-q":安静模式, 不输出环境信息 pytest.main(["-q"]) # 设置pytest的执行参数 "-s":显示程序中的print/logging输出 pytest.main(["-s 阅读全文
posted @ 2023-05-22 12:46 粥雨 阅读(286) 评论(0) 推荐(0) 编辑
摘要:### pytest 命令参数及含义 **下面列表是执行pytest命令比较常见的一些参数及含义** | 参数 | 含义 | | | | | -q | 输出的结果缩短显示 | | -s | 显示在python程序中的print输出的内容,如是不加则不会显示 | | --durations | 获取最 阅读全文
posted @ 2023-05-21 23:30 粥雨 阅读(175) 评论(0) 推荐(0) 编辑
摘要:## Pytest - 概述&入门 ### 简介 + Pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作; + pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixture模型; + pytest是一个软件测试框架, 阅读全文
posted @ 2023-05-15 17:58 粥雨 阅读(198) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示