摘要:
1、前言 在自动化测试的时候我们可能会遇到某些原因,如模块不稳定等,出现一些测试失败,此时我们想要针对单个用例或者单个模块重复执行多次,以确定测试失败的真正原因。在Pytest中可以通过插件pytest-repeat来实现。 安装方式:pip install pytest-repeat 2、--co 阅读全文
摘要:
1、标记实现参数化 通过@pytest.mark.parametrize(argnames, argvalues, indirect=False, ids=None, scope=None)装饰器来实现参数化。 参数说明: argnames:参数名,使用逗号分隔的列表,或元祖,或字符串,表示一个或多 阅读全文
摘要:
1、前言 引用自官方文档 您可以标记无法在某些平台上运行或您预计会失败的测试功能,以便 pytest 可以相应地处理它们并提供测试会话的摘要,同时保持测试套件绿色。 跳过(skip)意味着您希望测试仅在满足某些条件时才能通过,否则 pytest 应该完全跳过运行测试。常见的例子是跳过非 Window 阅读全文
摘要:
1、conftest.py介绍 conftest.py是pytest框架的一种固定写法,把fixture或者自己定义的插件写到这个文件里就会自动去调用。我们前面都是将fixture写到测试用例文件里,在实际工作中更推荐写到conftest.py文件中,这样更加灵活,易维护。 2、conftest.p 阅读全文
摘要:
8、Fixture带返回值 在fixture中我们可以使用yield或者return来返回我们需要的东西,如测试数据,数据库连接对象,文件对象等。 没有后置处理 直接采用return的方式返回数据(yield也可以) import pytest @pytest.fixture() def data_ 阅读全文
摘要:
4、Fixture的相互调用 示例: import pytest # 第一层fixture @pytest.fixture() def fixture_1(): data = "fixture_1" print("这是第一层fixture") return data # 第二层fixture @py 阅读全文
摘要:
1、前言 fixture中文名翻译为夹具,作用与上一篇中setup和teardown一致,都是用来做前后置处理的,但fixture更灵活更强大。它支持部分前后置,比如有时候我们不需要为每一条测试用例都添加前后置,使用setup和teardown要么为整个模块添加前后置,要么为整个类,所有类方法,所有 阅读全文
摘要:
1、前言 在自动化测试过程中经常需要进行初始化和后期处理等工作,如电商加购物车测试需要先登录,测试完毕需要关闭浏览器等。Pytest提供了5种类型的setup和teardown的方法,具体如下: 模块级别:setup_module,teardown_module 函数级别:setup_functio 阅读全文
摘要:
1、前言 Pytest使用python自带关键字assert进行断言,断言内容为一个表达式,只要表达式的最终结果为True,那么断言通过,用例执行成功,否则用例执行失败。 assert + 表达式 2、常用断言 assert xx:判断xx为真 assert not xx: 判断xx不为真 asse 阅读全文
摘要:
1、Pytest的全局配置文件 (1)说明 我们之前用命令行或主函数启动测试的时候会增加一些参数来实现所需功能,很多测试用例执行都需要这些参数,所以在企业中我们会通过全局配置文件的方式来管理这些参数。 注意: 全局配置文件的名称是固定的,可以为pytest.ini,tox.ini,setup.cfg 阅读全文