pytest测试框架(七)---pytest与jenkins集成(pytest+jenkins+allure)

目录

一、pytest注册命令行选项

1、addoption

2、pytestconfig.getoption

3、示例

二、Jenkins上显示allure测试报告

1、安装插件

2、配置Allure Commandline

3、配置构建项目

4、查看报告


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=, 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“点击安装:

pytest测试框架(七)---pytest与jenkins集成(pytest+jenkins+allure)_第1张图片

 

2、配置Allure Commandline

返回到”全局工具配置“界面,配置”Allure Commandline“:

pytest测试框架(七)---pytest与jenkins集成(pytest+jenkins+allure)_第2张图片

 

3、配置构建项目

最后在构建项目的”配置“中,添加构建后操作”Allure Report“:

pytest测试框架(七)---pytest与jenkins集成(pytest+jenkins+allure)_第3张图片

 

4、查看报告

全部配置完成后点击构建,项目界面可以看到”Allure Report“按钮,点击就可以看到测试报告了,还可以下载测试报告:

 

pytest测试框架(七)---pytest与jenkins集成(pytest+jenkins+allure)_第4张图片

 

pytest测试框架(七)---pytest与jenkins集成(pytest+jenkins+allure)_第5张图片

 

你可能感兴趣的:(pytest)