Pytest与jenkins

pytest可以生成junit.xml格式的文件,用于给jenkins和其他CI系统显示测试结果。

Jenkins(Jenkins ver. 2.176.2)与Pytest相关插件

Build Name and Description Setter:这个插件可以设置每次运行的名字,而不是默认的#1、#2、#3
Test Results Analyzer Plugin: 这个插件以图表的形式显示测试执行的历史信息
务必安装,否则无法展示与本文一样的效果

新建个项目

New Item->Freestyle project,项目名称可以任意

parameterized

在项目General选项卡中,找到This project is parameterized,然后如图所示添加内容:
Pytest单元测试系列[v1.0.0][集成jenkins]_Pytest

构建环境/Build Environment

Pytest单元测试系列[v1.0.0][集成jenkins]_Pytest_02

构建/Build

在Mac或Unix系统,选择Add build step->Execute shell, 如果是windows系统选择Add build step->Execute Windows batch command,如图所示
Pytest单元测试系列[v1.0.0][集成jenkins]_Jenkins_03
Pytest单元测试系列[v1.0.0][集成jenkins]_Pytest_04

构建后操作/Post-build Actions

Pytest单元测试系列[v1.0.0][集成jenkins]_Pytest_05

Test Results Analyzer

使用Jenkins的Test Results Analyzer的前提是我们执行的命令无论是在MAC/Linux/Windows下都必须要生成junit的xml结果的方式,例如命令

pytest --junit-xml=results.xml

Pytest单元测试系列[v1.0.0][集成jenkins]_Pytest_06
Pytest单元测试系列[v1.0.0][集成jenkins]_Jenkins_07
Pytest单元测试系列[v1.0.0][集成jenkins]_Jenkins_08
Pytest单元测试系列[v1.0.0][集成jenkins]_Jenkins_09
点击左侧的trend能够看到构建的详情
Pytest单元测试系列[v1.0.0][集成jenkins]_Jenkins_10
点击具体某一给构建名称后的小三角,从下拉菜单中选择Test Result,可以查看用例执行会话
Pytest单元测试系列[v1.0.0][集成jenkins]_Jenkins_11
Pytest单元测试系列[v1.0.0][集成jenkins]_Jenkins_12
Pytest单元测试系列[v1.0.0][集成jenkins]_Jenkins_13