pytest测试框架(七)---pytest与jenkins集成(pytest+jenkins+allure)
pytest与jenkins集成,其中最关键的2个问题是:1、pytest如何注册命令行选项,以获取jenkins web上的参数值;2、用例执行结束后,如何在jenkins上显示测试报告。一、addoption与pytestconfig.getoptionaddoption可以用来注册命令行选项,用法如下:addoption(*opts:str,**attrs:Any)opts:选项名称,可以是
目录
pytest与jenkins集成,其中2个最关键的问题:
1、pytest如何注册命令行选项,以获取jenkins web上的参数值;
2、用例执行结束后,如何在jenkins上显示测试报告。
一、pytest注册命令行选项
1、addoption
addoption可以用来注册命令行选项,用法如下:
addoption(*opts: str, **attrs: Any)
※ opts:选项名称,可以是短选项或长选项。
※ attrs:选项的属性值。
2、pytestconfig.getoption
命令行选项注册完成之后,可以通过pytestconfig对象的getoption方法获取它的值,用法如下:
getoption(name: str, default=<NOTSET>, skip: bool = False)
※ name:自定义命令行参数的名字;
※ default:如果参数不在命令行中,则生成的默认值;
※ skip:如果是真的,提高pytest.跳过如果选项不存在或没有值;
※ action:在命令行中遇到此参数时要采取的基本操作类型“
※ store表示只存储参数的值;
※ append表示存储一个列表;
※ store_const表示命令行参数必须指定一个常量值,必须与const参数同时使用,并且这个命令行参数不能复制;
※ append_const表示存储一个列表,也不能赋值
※ nargs:应该使用的命令行参数的数量;
※ const:某些操作和nargs选择所需的常量值;
※ type:命令行参数应该转换为的类型:
※ type 的类型可以是 python 的基础类型,比如:int,str,float,list 等类型,如果不指定类型的话默认为str类型;
※ choices:参数允许值的容器:
※ choices 可以指定几个值,自定义参数必须在这几个值中选择一个;
※ required:命令行选项是否可以省略(仅可选);
※ help:对参数作用的简要说明;
※ metavar:用法消息中参数的名称;
※ dest:要添加到 parse_args() 返回的对象中的属性的名称。
3、示例
import pytest
def pytest_addoption(parser):
parser.addoption(
"--Version", action="store", default=""
)
@pytest.fixture()
def get_version(pytestconfig):
return pytestconfig.getoption("--Version")
二、Jenkins上显示allure测试报告
在Jenkins上显示allure测试报告,需要安装”Allure jenkins Plugin“插件,安装方式如下:
1、安装插件
登录Jenkins,选择”系统管理“->”插件管理“,找到”Allure jenkins Plugin“点击安装:
2、配置Allure Commandline
返回到”全局工具配置“界面,配置”Allure Commandline“:
3、配置构建项目
最后在构建项目的”配置“中,添加构建后操作”Allure Report“:
4、查看报告
全部配置完成后点击构建,项目界面可以看到”Allure Report“按钮,点击就可以看到测试报告了,还可以下载测试报告:
更多推荐
所有评论(0)