摘要:
前言 执行测试用例时,有的时候我们希望能够更加灵活的指定执行某些测试用例,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 阅读全文
摘要:
前言 pytest测试框架提供的很多钩子函数方便我们对测试框架进行二次开发,可以根据自己的需求进行改造。 例如:钩子方法:pytest_runtest_makereport ,可以更清晰的了解测试用例的执行过程,并获取到每个测试用例的执行结果。 pytest_runtest_makereport方法 阅读全文
摘要:
钩子函数之 pytest_addoption介绍: ① pytest_addoption 钩子函数可以让用户注册一个自定义的命令行参数,以便于用户在测试开始前将数据从外部(如:控制台)传递给程序;【程序根据获取的用户传递的自定义的参数值来做一些事情】 ② pytest_addoption 钩子函数一 阅读全文
摘要:
当我们对测试用例进行参数化时,使用@pytest.mark.parametrize的ids参数自定义测试用例的标题,当标题中有中文时,控制台和测试报告中会出现Unicode编码问题,这看起来特别像乱码,我们想让中文正常展示出来,需要用到pytest框架的钩子函数pytest_collection_m 阅读全文
摘要:
前言 pytest默认执行用例是根据项目下的文件名称按ascii码去收集运行的;文件中的用例是从上往下按顺序执行的。 pytest_collection_modifyitems 这个函数顾名思义就是收集测试用例、改变用例的执行顺序的。 【严格意义上来说,我们在用例设计原则上用例就不要有依赖顺序,这样 阅读全文
摘要:
前言 pytestconfig 是pytest框架的一个内置fixture函数,可以获取上下文,它的作用跟 request.config 是一样的,代表pytest配置对象。 参照博客:pytest系列——内置fixture函数之request详解 pytestconfig的源代码 从源代码中可以看 阅读全文
摘要:
前言 官方文档中 request 的描述:request是pytest的内置fixture函数;为请求对象提供对请求测试上下文的访问权,并且在fixture函数被间接参数化的情况下具有可选的"param"属性。 对这句话的解读: request 函数是pytest中的内置fixture函数,可以在自 阅读全文
摘要:
conftest.py是什么? conftest.py是fixture函数的一个集合,可以理解为公共的提取出来放在一个文件里,然后供其它模块调用。不同于普通被调用的模块,conftest.py使用时不需要导入,Pytest会自动查找。 conftest.py使用场景 如果我们有很多个前置函数,写在各 阅读全文
摘要:
前言 setup和teardown能实现在测试用例执行之前或之后做一些操作,但是这种是整个测试脚本全局生效的; 如果我们想实现某些用例执行之前进行登录,某些用例执行之前不需要进行登录,这种场景我们再使用setup和teardown就无法实现了,这时候我们就需要用到fixture功能了。 fixtur 阅读全文
摘要:
一、pytest实现测试用例参数化(@pytest.mark.parametrize) @pytest.mark. parametrize装饰器可以实现对测试用例的参数化,方便测试数据的获取。 @pytest.mark. parametrize的基本使用: 方便测试函数对测试数据的获取。 方法: p 阅读全文
摘要:
前言 ①我们平时在写测试用例的过程中,有时会遇到【已知由于某些原因,某些场景是有问题的,或者是功能暂时没有实现】这种情况,那么测试用例执行的时候我们就知道这个测试用例会失败,也就是预期失败,这个时候我们就可以使用 @pytest.mark.xfail 装饰器来标记测试用例为预期失败函数。 ②当某个b 阅读全文