- 博客(20)
- 收藏
- 关注
原创 pytest系列——allure(五)之在测试用例添加标题(@allure.title())
通过使用装饰器@allure.title可以为测试用例自定义一个更具有阅读性的易读的标题。
2022-11-17 21:27:58
1646
原创 pytest系列——allure(四)之在测试用例添加描述(@allure.description())
allure支持往测试报告中对测试用例添加非常详细的描述语用来描述测试用例详情;这对阅读测试报告的人来说非常的友好,可以清晰的知道每个测试用例的详情。
2022-11-09 17:21:37
869
原创 pytest系列——allure(三)之在测试报告中为测试用例添加附件(@allure.attach())
allure测试报告同样支持显示不同类型的附件,对测试用例、测试步骤以及fixture函数的结果加以补充。或者的作用是为allure测试报告的测试用例执行结果添加附件。
2022-11-07 13:50:17
2345
原创 pytest系列——allure(二)之添加测试用例步骤(@allure.step())
在编写自动化测试用例的时候经常会遇到需要编写流程性测试用例的场景,一般流程性的测试用例的测试步骤比较多,我们在测试用例中添加详细的步骤会提高测试用例的可阅读性。allure提供的装饰器@allure.step()是allure测试报告框架非常有用的功能,它能帮助我们在测试用例中对测试步骤进行详细的描述。
2022-11-02 16:05:28
1372
原创 pytest系列——allure之生成测试报告(mac系统)
我们可以通过pytest-html插件来生成测试报告,但是pytest-html插件生成的测试报告不够美观,逼格也不够高,通过allure生成的测试报告是比较美观的,花里胡哨的,能够提升一个level。allure官网:
2022-10-31 20:50:22
1214
1
原创 pytest系列——allure之生成测试报告(Windows系统)
Allure是一款测试报告框架,不仅报告美观,而且方便CI集成。allure是一款开源的,专门用来展示测试结果的一个工具,allure可以与很多的测试框架做集成,比如:java的Junit、TestNG;python的pytest等。allure会将测试用例的执行数据保存到xml或者json文件中去,再利用allure的命令行将文件转换成HTML形式呈现出来。
2022-10-28 19:33:47
789
原创 Pytest系列——allure(原理)之allure工具与Pytest测试框架集成
1、Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用信息。2、从开发/质量保证的角度来看,Allure报告可以缩短常见缺陷的生命周期:可以将测试失败划分为bug和损坏的测试,还可以配置log,step,fixture,attachments,timings,历史记录以及与TMS的集成以及Bug跟踪系统,因此负责任的开发人员和测试人员将掌握所有信息。
2022-10-26 20:54:47
4562
原创 pytest系列——allure命令行参数详解
allure -hOptions: --help 命令行帮助文档 -q, --quiet 切换至安静模式 Default: false -v, --verbose 切换至冗长模式 Default: false --version 版本信息 Default: false生成 allure 的html 报告generate [options] allure结果目录。
2022-10-23 17:06:59
1665
原创 pytest_runtest_makereport钩子函数获取测试用例执行结果
pytest测试框架提供的很多钩子函数方便我们对测试框架进行二次开发,可以根据自己的需求进行改造。
2022-10-18 19:33:46
2612
3
原创 pytest_addoption钩子函数添加自定义参数到pytest配置对象中+request.config.getoption获取参数值
① 钩子函数可以让用户注册一个自定义的命令行参数,以便于用户在测试开始前将数据从外部(如:控制台)传递给程序;【程序根据获取的用户传递的自定义的参数值来做一些事情】② 钩子函数一般和内置 配合使用, 注册自定义的命令行参数, 通过pytest配置对象读取参数的值;③ 钩子函数还可以与内置fixture函数request中 结合使用来读取用户注册的自定义命令行参数对应的参数值。如下所有的例子都是通过此方法。可能的应用场景:上面的场景我们都可以通过【在命令行中输入参数,然后用例中接收这个参数,通过
2022-10-16 17:30:53
1828
2
原创 pytest_collection_modifyitems钩子函数修复参数化使用ids当测试用例描述有中文时控制台及报告中用例标题输出为Unicode编码问题
当我们对测试用例进行参数化时,使用@pytest.mark.parametrize的ids参数自定义测试用例的标题,当标题中有中文时,控制台和测试报告中会出现Unicode编码问题,这看起来特别像乱码,我们想让中文正常展示出来,需要用到pytest框架的钩子函数pytest_collection_modifyitems。编辑器中运行上面代码的结果:从上面的结果中可以看到用例的标题中文展示为Unicode编码。items是一个存储item对象的列表,item对象中有两个属性:一个是测试用例的路径。
2022-10-13 20:03:18
451
原创 pytest系列——pytest_collection_modifyitems钩子函数修改测试用例执行顺序
pytest默认执行用例是根据项目下的文件名称按ascii码去收集运行的;文件中的用例是从上往下按顺序执行的。pytest_collection_modifyitems 这个函数顾名思义就是收集测试用例、改变用例的执行顺序的。
2022-10-11 16:41:09
2199
3
原创 pytest系列——内置fixture函数之pytestconfig详解
是pytest框架的一个内置fixture函数,可以获取上下文,它的作用跟 是一样的,代表pytest配置对象。从源代码中可以看到: fixture函数实际上的返回值为 即返回pytest配置对象。【在程序中可以通过配置对象的】源代码实例:pytestconfig fixture函数中有2个比较常用的方法:① pytestconfig.getoption 获取命令行参数(对应的参数值):【不但可以获取pytest框架中自带的命令行参数值,也可以获取用户注册的自定义参数值】参考博
2022-10-06 21:44:36
1780
2
原创 pytest系列——内置fixture函数之request详解(request.params && request.config && request.module && 。。。)
官方文档中。
2022-09-29 19:28:36
2960
原创 pytest系列—conftest.py配置文件
conftest.py是fixture函数的一个集合,可以理解为公共的提取出来放在一个文件里,然后供其它模块调用。不同于普通被调用的模块,conftest.py使用时不需要导入,Pytest会自动查找。如果我们有很多个前置函数,写在各个py文件中是不很乱?再或者说,我们很多个py文件想要使用同一个前置函数该怎么办?这也就是conftest.py的作用conftest.py这个文件名是固定的,不可以更改。conftest.py与运行用例在同一个包下,并且该包中有__init__.py文件使用的时候。
2022-09-25 21:48:05
3973
原创 pytest系列——fixture函数使用(pytest测试框架测试固件)
setup和teardown能实现在测试用例执行之前或之后做一些操作,但是这种是整个测试脚本全局生效的;如果我们想实现某些用例执行之前进行登录,某些用例执行之前不需要进行登录,这种场景我们再使用setup和teardown就无法实现了,这时候我们就需要用到fixture功能了。
2022-09-20 21:46:27
3152
原创 pytest系列——实现用例参数化(@pytest.mark.parametrize)
import pytest @pytest.mark.parametrize("user,psw", argvalues=[("admin1", "abcdefg"), ("admin2", "123456"), ("admin3", "qwerty")], ids=["第一条测试用例名字", "第二条测试用例名字", "第三条测试用例名字"]) def test_login1(user, psw): print(user + " : " + psw) assert 1 == 1。
2022-09-14 22:15:50
1985
原创 pytest框架系列—标记测试用例为预期失败(@pytest.mark.xfail)
①我们平时在写测试用例的过程中,有时会遇到【已知由于某些原因,某些场景是有问题的,或者是功能暂时没有实现】这种情况,那么测试用例执行的时候我们就知道这个测试用例会失败,也就是预期失败,这个时候我们就可以使用。
2022-09-09 21:59:50
574
原创 pytest系列——fixture之yield关键字实现teardown用例后置操作
①pytest之fixture函数使用(pytest测试框架测试固件 文中讲到,fixture函数是通过scope参数来控制setup级别;②既然有setup函数作为用例之前的操作,测试用例执行完成之后那肯定也有teardown操作。③但是fixture的teardown操作并不是独立的函数,用yield关键字唤醒teardown操作。【依然存在于fixture方法中】
2022-09-07 19:34:48
1479
原创 Pytest框架系列——配置文件Pytest.ini
pytest.ini文件是pytest的主配置文件;可以改变pytest的运行方式;它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。pytest.ini文件的位置一般放在项目的根目录下,不能随便放,也不能更改名字。
2022-09-05 19:37:18
3057
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人