随笔分类 -  pytest测试框架

包含但不限于pytest测试框架相关的学习与理解
摘要:前言 pytest使用assert来做断言,但是assert断言是一旦遇到断言失败的测试用例后,后面的代码就不会再执行了。 但有的时候我们经常会在用例中写多个断言,并且希望在第一个断言失败后,后面的所有的断言都能继续执行完,这就需要用到 pytest-assume 插件来解决。 背景 使用pytes 阅读全文
posted @ 2021-07-26 12:39 习久性成 阅读(884) 评论(0) 推荐(1) 编辑
摘要:前言 pytestconfig 是pytest框架的一个内置fixture函数,可以获取上下文,它的作用跟 request.config 是一样的,代表pytest配置对象。 参照博客:pytest之内置fixture函数之request详解(request.params && request.co 阅读全文
posted @ 2021-07-26 12:27 习久性成 阅读(1058) 评论(0) 推荐(1) 编辑
摘要:conftest.py是什么? conftest.py是fixture函数的一个集合,可以理解为公共的提取出来放在一个文件里,然后供其它模块调用。不同于普通被调用的模块,conftest.py使用时不需要导入,Pytest会自动查找。 conftest.py使用场景 如果我们有很多个前置函数,写在各 阅读全文
posted @ 2021-07-23 16:41 习久性成 阅读(793) 评论(0) 推荐(1) 编辑
摘要:前言 setup和teardown能实现在测试用例执行之前或之后做一些操作,但是这种是整个测试脚本全局生效的; 如果我们想实现某些用例执行之前进行登录,某些用例执行之前不需要进行登录,这种场景我们再使用setup和teardown就无法实现了,这时候我们就需要用到fixture功能了。 fixtur 阅读全文
posted @ 2021-07-22 21:28 习久性成 阅读(536) 评论(0) 推荐(1) 编辑
摘要:钩子函数之 pytest_addoption介绍: ① pytest_addoption 钩子函数可以让用户注册一个自定义的命令行参数,以便于用户在测试开始前将数据从外部(如:控制台)传递给程序;【程序根据获取的用户传递的自定义的参数值来做一些事情】 ② pytest_addoption 钩子函数一 阅读全文
posted @ 2021-07-22 21:13 习久性成 阅读(3893) 评论(0) 推荐(0) 编辑
摘要:前言 我们平时在做测试的时候经常会遇到网络抖动,导致测试用例执行失败,重新执行后用例又执行成功了;有时候还会遇到功能不稳定,偶尔会出现bug,我们经常需要反复多次的运行用例,从而来复现问题。pytest-repeat插件就可以实现重复运行测试用例的功能。 pytest-repeat安装 pip in 阅读全文
posted @ 2021-07-21 19:17 习久性成 阅读(1716) 评论(0) 推荐(0) 编辑
摘要:当我们对测试用例进行参数化时,使用@pytest.mark.parametrize的ids参数自定义测试用例的标题,当标题中有中文时,控制台和测试报告中会出现Unicode编码问题,这看起来特别像乱码,我们想让中文正常展示出来,需要用到pytest框架的钩子函数pytest_collection_m 阅读全文
posted @ 2021-07-21 18:38 习久性成 阅读(214) 评论(0) 推荐(0) 编辑
摘要:前言: ids 含义:用例的ID 格式:传一个字符串列表 作用:可以标识每一个测试用例,自定义测试数据结果的显示,为了增加可读性 强调:ids列表的长度需要与测试数据列表的长度一致 pytest使用装饰器@pytest.mark.parametrize进行参数化后,在控制台或者测试报告中的测试用例标 阅读全文
posted @ 2021-07-21 16:54 习久性成 阅读(1210) 评论(0) 推荐(1) 编辑
摘要:一、pytest实现测试用例参数化(@pytest.mark.parametrize) @pytest.mark. parametrize装饰器可以实现对测试用例的参数化,方便测试数据的获取。 @pytest.mark. parametrize的基本使用: 方便测试函数对测试数据的获取。 方法: p 阅读全文
posted @ 2021-07-21 14:46 习久性成 阅读(3011) 评论(0) 推荐(1) 编辑
摘要:前言 ①我们平时在写测试用例的过程中,有时会遇到【已知由于某些原因,某些场景是有问题的,或者是功能暂时没有实现】这种情况,那么测试用例执行的时候我们就知道这个测试用例会失败,也就是预期失败,这个时候我们就可以使用 @pytest.mark.xfail 装饰器来标记测试用例为预期失败函数。 ②当某个b 阅读全文
posted @ 2021-07-14 15:13 习久性成 阅读(453) 评论(0) 推荐(1) 编辑
摘要:在 Shell 执行 pytest -h 可以看到 pytest 的命令行参数有这 10 大类,共 132 个 序号 类别中文名包含命令行参数数量 1 positional arguments 形参 1 2 general 通用 31 3 reporting 报告 18 4 collection 收 阅读全文
posted @ 2021-07-13 14:45 习久性成 阅读(1071) 评论(0) 推荐(0) 编辑
摘要:pytest之fixture之yield关键字实现teardown用例后置操作 前言 ①pytest之fixture函数使用(pytest测试框架测试固件 文中讲到,fixture函数是通过scope参数来控制setup级别; ②既然有setup函数作为用例之前的操作,测试用例执行完成之后那肯定也有 阅读全文
posted @ 2021-07-12 18:25 习久性成 阅读(269) 评论(0) 推荐(1) 编辑
摘要:pytest之测试报告插件(pytest-html) 前言 我们在测试完成之后需要查看测试用例的执行结果,pytest-html就可以帮助我们在测试完成后生成html格式的测试报告,pytest-html是一个插件,pytest可以使用pytest-html来生成html测试报告。 pytest-h 阅读全文
posted @ 2021-07-07 21:12 习久性成 阅读(1578) 评论(0) 推荐(3) 编辑
摘要:前言 pytest.ini文件是pytest的主配置文件;可以改变pytest的运行方式;它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。 pytest.ini文件的位置一般放在项目的根目录下,不能随便放,也不能更改名字。 查看pytest.ini文件的配置选项 cmd 阅读全文
posted @ 2021-07-07 21:04 习久性成 阅读(2590) 评论(0) 推荐(1) 编辑
摘要:单元测试框架基本上都具有setup和teardown的功能; setup用来实现用例执行前的一些操作(如:数据准备、打开浏览器等操作); teardown用来实现用例执行完成之后的一些操作(如:数据清理、关闭浏览器等操作)。 pytest作为一款强大的测试框架同样也有setup和teardown语法 阅读全文
posted @ 2021-07-06 21:06 习久性成 阅读(278) 评论(0) 推荐(0) 编辑
摘要:环境前提: 只有同时满足一下先决条件才能使用pytest-rerunfailures ①python的版本不能过低; ②pytest 5.0或更高版本; 背景: 平时在做接口测试的时候,经常会遇到网络抖动或者环境问题导致测试用例运行失败,而这个并不是我们想要的结果; 我们想要重新运行失败的测试用例, 阅读全文
posted @ 2021-07-06 20:49 习久性成 阅读(442) 评论(0) 推荐(1) 编辑
摘要:pytest之多进程运行测试用例(pytest-xdist) 前言 平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完 当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间缩短一半,如果有10个小伙伴,那么执行 阅读全文
posted @ 2021-07-06 20:15 习久性成 阅读(2049) 评论(0) 推荐(2) 编辑
摘要:Exit code 0 :所有用例执行完毕,全部通过 Exit code 1:所有用例执行完毕,存在Failed的测试用例 Exit code 2:用户中断了测试的执行 Exit code 3:测试执行过程发生了内部错误 Exit code 4:pytest 命令行使用错误 Exit code 5: 阅读全文
posted @ 2021-07-06 17:56 习久性成 阅读(449) 评论(0) 推荐(0) 编辑
摘要:前言 在我们自动化测试过程中,经常会遇到功能阻塞、功能未实现、环境等一系列外部因素问题导致的一些用例执行不了,这时我们就可以用到跳过skip用例,如果我们注释掉或删除掉,后面还要进行恢复操作。 ① pytest.mark.skip 装饰器可以标记无法在某些平台上运行的测试功能,或者希望失败的测试功能 阅读全文
posted @ 2021-07-05 21:04 习久性成 阅读(767) 评论(0) 推荐(1) 编辑
摘要:test session start:一段会话就是pytest的一次调用,他可能包括多个目录下被执行的测试用例 cachedir:pytest测试运行时的缓存文件夹【存放所有运行后的测试用例路径以及上一次运行失败的测试用例路径】 metadata:pytest测试运行时的所有设备或包信息元数据 ro 阅读全文
posted @ 2021-07-01 18:05 习久性成 阅读(227) 评论(0) 推荐(1) 编辑

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