随笔分类 - Pytest
摘要:考虑场景: 我们的自动化用例需要支持在不同测试环境运行,有时候在dev环境运行,有时候在test环境运行; 有时候需要根据某个参数不同的参数值,执行不同的业务逻辑; 上面的场景我们都可以通过“在命令行中输入参数,然后用例中接收这个参数,通过判断这个参数的值来做不同的逻辑”来实现。那么我们的需求就变为
阅读全文
摘要:前言 pytest 的钩子函数有很多,通过钩子函数的学习可以了解到pytest在执行用例的每个阶段做什么事情,也方便后续对pytest二次开发学习。详细文档可以查看pytest官方文档https://docs.pytest.org/en/latest/reference/reference.html
阅读全文
摘要:一、安装allure插件 点击jenkins管理-->插件管理 点击Available,在搜索框中输入allure并安装 二、配置构建命令 三、构建配置allure插件 点击构建后置操作 path框中填写临时存放报告的目录 四、执行构建 五、查看结果 报告详情界面如下:
阅读全文
摘要:定制报告需要先导入allure模块,再使用以下装饰器方法: feature: 标注主要功能模块。 story: 标注feature功能模块下的分支功能。 description:在报告中显示用例描述。 step: 标注测试用例步骤。 issue && testcase:标注用例关联的链接。 atta
阅读全文
摘要:一、allure工具环境配置 windows安装allure 1、下载allure工具包 进入工具包官网:https://github.com/allure-framework/allure2/releases 2、解压下载包 3、将解压包的bin目录路径添加到环境变量中 4、打开cmd命令行输入
阅读全文
摘要:pytest参数化有两种方式: mark的parametrize标记:@pytest.mark.parametrize(变量名,变量值),其中变量值类型为列表、元组或其它可迭代对象。 fixture的params参数:@pytest.fixture(params=变量值),其中变量值类型为列表、元组
阅读全文
摘要:什么是fixture fixture是pytest特有的功能,使用装饰器 @pytest.fixture 标记的函数在其他函数中能被当作参数传入并被调用。 fixture有明确的名字,在其他函数,模块,类或整个工程调用它时会被激活。 fixture是基于模块来执行的,每个fixture的名字就可以触
阅读全文
摘要:pytest提供了以下 4 种钩子方法: 方法说明 setup 在每一个测试用例执行之前,会执行此方法。一般用于每个用例相同的初始化工作。 teardown 在每一个测试用例执行之后,会执行此方法。一般用于每个用例相同的收尾工作。 setup_class 在所有测试用例执行之前,会执行此方法。一般用
阅读全文
摘要:pytest跳过用例执行的用法与unittest跳过用例大致相同。 pytest跳过用例的方法如下: pytest.mark.skip(reason):无条件用例。reason是跳过原因,下同。 pytest.mark.skipIf(condition, reason):condition为True
阅读全文
摘要:用例分组 pytest进行分组测试的方法是使用装饰器 @pytest.mark.标记名称,被标记为相同名称的用例可以看做为同一个组。 分组用例的运行方式是在执行命令中追加 -m "标记名称"的参数。 执行结果如下: 从结果可以看出,未被标记的用例,未执行 同一个用例可标记多个组 分组的执行支持逻辑运
阅读全文
摘要:在unittest中,测试用例的执行顺序与测试用例的名称有关,按照名称的ascii码排序的,并不是按照用例的编写顺序执行的。 pytest默认是按用例的编写顺序执行的 我们可以通过第三方包 pytest-ordering 来自定义我们用例的执行顺序。 方法是使用装饰器 @pytest.mark.ru
阅读全文
摘要:pytest配置文件可以改变pytest的默认运行方式,它是一个固定的文件名称pytest.ini。 存放路径为项目的根目录 解决中文报错 在讲解配置文件的可用参数前,我们先解决一个高概率会遇到的问题, 那就是在pytest.ini文件 中不能使用任何中文符号,否则会报错:UnicodeDecode
阅读全文
摘要:前面讲了测试用例的执行方式,也认识了 -v -s 这些参数,那么还有没有其它参数呢?答案肯定是有的,我们可以通过 pytest -h来查看所有可用参数。 从图中可以看出,pytest的参数有很多,但并不是每一个参数都需要去记住,下面是归纳一些常用的参数: -s:输出调试信息,包括print打印的信息
阅读全文
摘要:在pytest框架中,编写测试用例有如下约束: 所有的测试用例文件名都需要满足test_*.py格式或*_test.py格式。 在测试用例文件中,测试类以Test开头,并且不能带有__init__方法,否则pytest不会执行该class。 在测用例的class中,可以包含一个或多个test_开头的
阅读全文
摘要:一、Pytest简介 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但更灵活。官方网站优点简介: 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考 能够支持简单的单元测试和复杂的功能测试 支持参数化 执行测试过程中可以将某些测试跳过,或者对
阅读全文