随笔分类 - pytest测试框架
包含但不限于pytest测试框架相关的学习与理解
摘要:安装 pip install pytest-emoji 使用方法 pytest -vs --emoji 示例 执行测试用例的时候,就会在每条用例执行结果的后面添加一个萌萌哒的表情。 重写表情 当然如果不喜欢这类的表情,也可以直接在conftest.py模块中进行重写: # 重写pytest-emoj
阅读全文
摘要:前言 ①在我们做接口自动化的时候,很经常会有一个指标是找出一些耗时的接口,从而告知开发这些接口需要优化。 ②由于某些测试用例步骤长,执行时间比较久,为了防止程序长时间处于等待状态,浪费宝贵时间。为此,我们可以设置一个超时时间,当测试在指定的时间长度内没有完成(即使程序并没有“僵死”,只是处理得比较慢
阅读全文
摘要:前言 在我们进行自动化测试的时候,用例往往是成百上千,执行的时间是几十分钟或者是小时级别。有时,我们在调试那么多用例的时候,不知道执行到什么程度了,而pytest-sugar插件能很好解决我们的痛点。 安装 pip3 install pytest-sugar 实例 def test_s1(): pr
阅读全文
摘要:前言 当我们使用allure生成测试报告之后,我们再修改测试用例,然后再次运行生成测试报告会发现测试报告中保留了上一次用例的运行记录。【默认allure测试报告不会清理之前的原始数据;而原来的原始数据会在最新的allure测试报告中显示历史用例执行结果】 如果我们不想看到原来的用例执行记录,而是生成
阅读全文
摘要:前言 执行测试用例时,有的时候我们希望能够更加灵活的指定执行某些测试用例,pytest支持我们通过使用marker装饰器@pytest.mark来实现这个需求,而allure也同样提供了三种类似的方法来实现这个需求。 allure的三种方式: BDD(行为驱动开发)的风格标记:Epics、Featu
阅读全文
摘要:前言 allure测试报告框架提供了@allure..link、@allure.issue、@allure.testcase 这三个装饰器,可以用来与缺陷管理系统和测试管理系统集成。 三个装饰器源码 def link(url, link_type=LinkType.LINK, name=None):
阅读全文
摘要:前言 通过使用装饰器@allure.title可以为测试用例自定义一个更具有阅读性的易读的标题。 allure.title的三种使用方式: 直接使用@allure.title为测试用例自定义标题; @allure.title支持通过占位符的方式传递参数,可以实现测试用例标题参数化,动态生成测试用例标
阅读全文
摘要:前言 allure支持往测试报告中对测试用例添加非常详细的描述语用来描述测试用例详情;这对阅读测试报告的人来说非常的友好,可以清晰的知道每个测试用例的详情。 allure添加描述的三种方式: 使用装饰器@allure.description,传递一个字符串参数来描述测试用例。 使用装饰器@allur
阅读全文
摘要:前言 allure测试报告同样支持显示不同类型的附件,对测试用例、测试步骤以及fixture函数的结果加以补充。 allure.attach() 或者 allure.attach.file 的作用是为allure测试报告的测试用例执行结果添加附件。 allure.attach的用法一:(最常用) 语
阅读全文
摘要:前言 在编写自动化测试用例的时候经常会遇到需要编写流程性测试用例的场景,一般流程性的测试用例的测试步骤比较多,我们在测试用例中添加详细的步骤会提高测试用例的可阅读性。 allure提供的装饰器@allure.step()是allure测试报告框架非常有用的功能,它能帮助我们在测试用例中对测试步骤进行
阅读全文
摘要:前言 我们可以通过pytest-html插件来生成测试报告,但是pytest-html插件生成的测试报告不够美观,逼格也不够高,通过allure生成的测试报告是比较美观的,花里胡哨的,能够提升一个level。 allure官网: https://docs.qameta.io/allure/ allu
阅读全文
摘要:前言 Allure介绍 Allure是一款测试报告框架,不仅报告美观,而且方便CI集成。 allure是一款开源的,专门用来展示测试结果的一个工具,allure可以与很多的测试框架做集成,比如:java的Junit、TestNG;python的pytest等。 allure会将测试用例的执行数据保存
阅读全文
摘要:官方介绍 1、Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用信息。 2、从开发/质量保证的角度来看,Allure报告可以缩短常见缺陷的生命周期:可以将测试失败划分
阅读全文
摘要:一、查看allure 命令的帮助文档 allure -h allure 命令的语法格式 allure [options] [command] [command options] options 列表 Options: --help 命令行帮助文档 -q, --quiet 切换至安静模式 Defaul
阅读全文
摘要:前言 1、这是一个pytest第三方插件,主要解决用例之间的依赖关系。如果依赖的上下文测试用例失败后续的用例会被标识为跳过执行,相当于执行了 pytest.mark.skip 2、dependency可作用的范围有:session、package、module、class 3、安装 pip inst
阅读全文
摘要:pytest的Hook函数详解 Hook函数的定义 ①Hook函数又称为钩子函数,它的作用可以理解成钩住自己喜欢的东西,然后对自己喜欢的东西单独做一些其他的处理。 ②钩子函数/hook函数: 1、是个函数,在系统消息触发时被系统调用 2、不是用户自己触发的 3、使用时直接编写函数体 4、钩子函数的名
阅读全文
摘要:前言 pytest测试框架提供的很多钩子函数方便我们对测试框架进行二次开发,可以根据自己的需求进行改造。 例如:钩子方法:pytest_runtest_makereport ,可以更清晰的了解测试用例的执行过程,并获取到每个测试用例的执行结果。 pytest_runtest_makereport方法
阅读全文
摘要:前言 官方文档中request的描述:request是pytest的内置fixture函数;为请求对象提供对请求测试上下文的访问权,并且在fixture函数被间接参数化的情况下具有可选的"param"属性。 对这句话的解读: request 函数是pytest中的内置fixture函数,可以在自定义
阅读全文
摘要:前言 pytest默认执行用例是根据项目下的文件名称按ascii码去收集运行的;文件中的用例是从上往下按顺序执行的。 pytest_collection_modifyitems 这个函数顾名思义就是收集测试用例、改变用例的执行顺序的。 【严格意义上来说,我们在用例设计原则上用例就不要有依赖顺序,这样
阅读全文
摘要:前言 设计测试用例有时候需要自定义测试用例的执行顺序,我们使用pytest的插件 pytest-ordering 来控制测试用例的执行顺序。 【 pytest_ordering 插件,但是只能针对某一个 test 文件的多条用例有效,对多个 test 文件不起作用】 下载 pip install p
阅读全文