随笔分类 -  自动化测试 - Pytest框架

摘要:1、前言 在pytest中常用的测试报告生成方法有两种,一种是通过pytest-html插件来完成,另一种通过Allure框架来实现。 2、pytest-html生成测试报告 (1)pytest-html插件安装 pip install pytest-html (2)pytest-html的使用 命 阅读全文
posted @ 2022-08-28 15:09 睡觉大王Risen 阅读(1091) 评论(0) 推荐(1) 编辑
摘要:1、前言 有时候我们测试执行由于某些原因失败了,想要多执行几次,Pytest可以使用pytest-rerunfailures插件来实现。 安装方式:pip install pytest-rerunfailures 2、使用 (一)命令行或main函数中使用 pytest -v -s ./xxx.py 阅读全文
posted @ 2022-08-20 17:44 睡觉大王Risen 阅读(417) 评论(0) 推荐(1) 编辑
摘要:1、前言 在执行自动化测试时,我们通常都希望能够控制执行测试用例的顺序。 在unittest框架中默认按照ACSII码的顺序加载测试用例并执行,顺序为:0~9、A~Z、a~z,测试目录、测试模块、测试类、测试方法/测试函数都按照这个规则来加载测试用例。 在pytest测试框架中,默认从上至下执行,也 阅读全文
posted @ 2022-08-20 17:43 睡觉大王Risen 阅读(485) 评论(0) 推荐(0) 编辑
摘要:1、前言 在自动化测试工作中我们有时候并不需要测试所有的测试用例,比如在冒烟测试阶段,我们只需要测试基本功能是否正常就可以了。在pytest中提供了mark标记功能来实现分组执行。 2、mark的使用 步骤: 在pytest.ini中注册标记(名称可自定义) 使用@pytest.mark.上一步注册 阅读全文
posted @ 2022-08-20 15:49 睡觉大王Risen 阅读(634) 评论(0) 推荐(0) 编辑
摘要:1、前言 在自动化测试的时候我们可能会遇到某些原因,如模块不稳定等,出现一些测试失败,此时我们想要针对单个用例或者单个模块重复执行多次,以确定测试失败的真正原因。在Pytest中可以通过插件pytest-repeat来实现。 安装方式:pip install pytest-repeat 2、--co 阅读全文
posted @ 2022-08-20 12:27 睡觉大王Risen 阅读(352) 评论(0) 推荐(0) 编辑
摘要:1、标记实现参数化 通过@pytest.mark.parametrize(argnames, argvalues, indirect=False, ids=None, scope=None)装饰器来实现参数化。 参数说明: argnames:参数名,使用逗号分隔的列表,或元祖,或字符串,表示一个或多 阅读全文
posted @ 2022-08-19 14:19 睡觉大王Risen 阅读(453) 评论(0) 推荐(0) 编辑
摘要:1、前言 引用自官方文档 您可以标记无法在某些平台上运行或您预计会失败的测试功能,以便 pytest 可以相应地处理它们并提供测试会话的摘要,同时保持测试套件绿色。 跳过(skip)意味着您希望测试仅在满足某些条件时才能通过,否则 pytest 应该完全跳过运行测试。常见的例子是跳过非 Window 阅读全文
posted @ 2022-08-18 17:37 睡觉大王Risen 阅读(353) 评论(0) 推荐(0) 编辑
摘要:1、conftest.py介绍 conftest.py是pytest框架的一种固定写法,把fixture或者自己定义的插件写到这个文件里就会自动去调用。我们前面都是将fixture写到测试用例文件里,在实际工作中更推荐写到conftest.py文件中,这样更加灵活,易维护。 2、conftest.p 阅读全文
posted @ 2022-08-17 11:47 睡觉大王Risen 阅读(458) 评论(0) 推荐(0) 编辑
摘要:8、Fixture带返回值 在fixture中我们可以使用yield或者return来返回我们需要的东西,如测试数据,数据库连接对象,文件对象等。 没有后置处理 直接采用return的方式返回数据(yield也可以) import pytest @pytest.fixture() def data_ 阅读全文
posted @ 2022-08-16 12:23 睡觉大王Risen 阅读(146) 评论(0) 推荐(0) 编辑
摘要:4、Fixture的相互调用 示例: import pytest # 第一层fixture @pytest.fixture() def fixture_1(): data = "fixture_1" print("这是第一层fixture") return data # 第二层fixture @py 阅读全文
posted @ 2022-08-15 18:50 睡觉大王Risen 阅读(133) 评论(0) 推荐(0) 编辑
摘要:1、前言 fixture中文名翻译为夹具,作用与上一篇中setup和teardown一致,都是用来做前后置处理的,但fixture更灵活更强大。它支持部分前后置,比如有时候我们不需要为每一条测试用例都添加前后置,使用setup和teardown要么为整个模块添加前后置,要么为整个类,所有类方法,所有 阅读全文
posted @ 2022-08-12 22:21 睡觉大王Risen 阅读(184) 评论(0) 推荐(0) 编辑
摘要:1、前言 在自动化测试过程中经常需要进行初始化和后期处理等工作,如电商加购物车测试需要先登录,测试完毕需要关闭浏览器等。Pytest提供了5种类型的setup和teardown的方法,具体如下: 模块级别:setup_module,teardown_module 函数级别:setup_functio 阅读全文
posted @ 2022-08-12 16:31 睡觉大王Risen 阅读(203) 评论(0) 推荐(0) 编辑
摘要:1、前言 Pytest使用python自带关键字assert进行断言,断言内容为一个表达式,只要表达式的最终结果为True,那么断言通过,用例执行成功,否则用例执行失败。 assert + 表达式 2、常用断言 assert xx:判断xx为真 assert not xx: 判断xx不为真 asse 阅读全文
posted @ 2022-08-10 19:04 睡觉大王Risen 阅读(608) 评论(0) 推荐(0) 编辑
摘要:1、Pytest的全局配置文件 (1)说明 我们之前用命令行或主函数启动测试的时候会增加一些参数来实现所需功能,很多测试用例执行都需要这些参数,所以在企业中我们会通过全局配置文件的方式来管理这些参数。 注意: 全局配置文件的名称是固定的,可以为pytest.ini,tox.ini,setup.cfg 阅读全文
posted @ 2022-08-10 15:48 睡觉大王Risen 阅读(336) 评论(0) 推荐(0) 编辑
摘要:1、pytest安装 安装方法: pip install pytest 安装验证: pytest --version 2、pytest常用插件 上一篇说过pytest拥有丰富的第三方插件,我们可以根据需要进行选择,甚至可以自定义pytest插件 常用的插件如下: pytest-html:生成html 阅读全文
posted @ 2022-08-09 14:42 睡觉大王Risen 阅读(458) 评论(0) 推荐(0) 编辑
摘要:1、什么是单元测试框架 单元测试框架是指在软件开发中,针对软件的最小单位(函数,方法)进行正确性检查测试。 2、单元测试框架主要做什么 测试发现:从多个文件中找到需要的测试用例 测试执行:按照一定的顺序和规则去执行测试用例 测试判断:通过断言判断预期结果和实际结果的差异 测试报告:统计测试进度,耗时 阅读全文
posted @ 2022-08-09 10:59 睡觉大王Risen 阅读(268) 评论(0) 推荐(1) 编辑

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