摘要:
前言 官方文档中request的描述:request是pytest的内置fixture函数;为请求对象提供对请求测试上下文的访问权,并且在fixture函数被间接参数化的情况下具有可选的"param"属性。 对这句话的解读: request 函数是pytest中的内置fixture函数,可以在自定义 阅读全文
摘要:
前言 pytest默认执行用例是根据项目下的文件名称按ascii码去收集运行的;文件中的用例是从上往下按顺序执行的。 pytest_collection_modifyitems 这个函数顾名思义就是收集测试用例、改变用例的执行顺序的。 【严格意义上来说,我们在用例设计原则上用例就不要有依赖顺序,这样 阅读全文
摘要:
前言 设计测试用例有时候需要自定义测试用例的执行顺序,我们使用pytest的插件 pytest-ordering 来控制测试用例的执行顺序。 【 pytest_ordering 插件,但是只能针对某一个 test 文件的多条用例有效,对多个 test 文件不起作用】 下载 pip install p 阅读全文
摘要:
前言 pytest使用assert来做断言,但是assert断言是一旦遇到断言失败的测试用例后,后面的代码就不会再执行了。 但有的时候我们经常会在用例中写多个断言,并且希望在第一个断言失败后,后面的所有的断言都能继续执行完,这就需要用到 pytest-assume 插件来解决。 背景 使用pytes 阅读全文
摘要:
前言 pytestconfig 是pytest框架的一个内置fixture函数,可以获取上下文,它的作用跟 request.config 是一样的,代表pytest配置对象。 参照博客:pytest之内置fixture函数之request详解(request.params && request.co 阅读全文
摘要:
conftest.py是什么? conftest.py是fixture函数的一个集合,可以理解为公共的提取出来放在一个文件里,然后供其它模块调用。不同于普通被调用的模块,conftest.py使用时不需要导入,Pytest会自动查找。 conftest.py使用场景 如果我们有很多个前置函数,写在各 阅读全文
摘要:
前言 setup和teardown能实现在测试用例执行之前或之后做一些操作,但是这种是整个测试脚本全局生效的; 如果我们想实现某些用例执行之前进行登录,某些用例执行之前不需要进行登录,这种场景我们再使用setup和teardown就无法实现了,这时候我们就需要用到fixture功能了。 fixtur 阅读全文
摘要:
钩子函数之 pytest_addoption介绍: ① pytest_addoption 钩子函数可以让用户注册一个自定义的命令行参数,以便于用户在测试开始前将数据从外部(如:控制台)传递给程序;【程序根据获取的用户传递的自定义的参数值来做一些事情】 ② pytest_addoption 钩子函数一 阅读全文
摘要:
前言 我们平时在做测试的时候经常会遇到网络抖动,导致测试用例执行失败,重新执行后用例又执行成功了;有时候还会遇到功能不稳定,偶尔会出现bug,我们经常需要反复多次的运行用例,从而来复现问题。pytest-repeat插件就可以实现重复运行测试用例的功能。 pytest-repeat安装 pip in 阅读全文
摘要:
当我们对测试用例进行参数化时,使用@pytest.mark.parametrize的ids参数自定义测试用例的标题,当标题中有中文时,控制台和测试报告中会出现Unicode编码问题,这看起来特别像乱码,我们想让中文正常展示出来,需要用到pytest框架的钩子函数pytest_collection_m 阅读全文