上一篇介绍了通过Pytest生成Allure测试报告,这篇主要介绍Ubuntu通过Jenkins构建Python+Pytest+Requests+Allure自动化项目后展示Allure测试报告
环境准备
第一步、Jenkins安装Allure插件
1. 通过下载Allure插件到本地,进入Jenkins - 系统管理 - 插件管理 - 高级 - 上传插件进行安装
2. Jenkins - 系统管理 - 插件管理 - 可选插件 - Allure
第二步、Jenkins全局工具配置JDK
1. 进入Jenkins - 系统管理 - 全局工具配置 - JDK - JDK安装 - 新增JDK, 输入JDK别名与已安装的JDK在Ubuntu上的JAVA_HOME,如下:
2. 若是没有安装JDK或者JDK不是你想要的版本,可以通过参考这篇文章,或者通过Jenkins进行安装(项目构建时自动安装), 如下:
第三步、Ubuntu上安装Allure
方法一:通过官方提供的PPA进行安装
sudo apt-add-repository ppa:qameta/allure
sudo apt-get update
sudo apt-get install allure
方法二:通过下载源码上传后安装
1. 从GitHub下载最新版本的zip文件
2. 将zip文件上传服务器并解压为allure-commandline
3. 将解压后*/allure-commandline/bin文件下的allure文件添加软链接到/usr/bin/allure
4. 将路径*/allure-commandline/bin添加到全局变量PATH
注: *为zip文件解压的父目录路径
方法三:通过Jenkins安装
1. 进入Jenkins - 系统管理 - 全局工具配置 - Allure Commandline - 新增 Allure Commandline
2. 输入别名、勾选自动安装、选择Allure的版本, 构建Job时会自动安装Allure到Jenkins/toorl目录下
注:方法三可不配置第四步,方法一和方法二必需配置第四步。方法三安装Allure的话需要命令行可用的话也得参考步骤二添加软链接到/usr/bin和添加全局变量到PATH。若只是用于Jenkins生成Allure报告推荐使用方法三
第四步、Jenkins全局工具配置Allure
1. 进入Jenkins - 系统管理 - 全局工具配置 - Allure Commandline - 新增 Allure Commandline
2. 输入Allure的别名和Allure的安装路径,如下图:
Job配置
1. Job构建触发器 - Execute shell, 如下图:
2. Job构建后操作选择 Allure Report, 配置如下图:
3. 参数配置完成后构建Job,如下构建记录中显示了allure图标表示allure报告生成成功
4. Allure测试报告展示如下:
遇到的问题
1. UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 20: illegal multibyte sequenc
Pytest.ini文件中存在中文gbk编解码器不能解码,删除pytest.ini文件中的中文即可
2. Build step 'Execute shell' marked build as failure
磁盘充足的情况下Pytest执行成功但构建标记为失败
在构建步骤中"Execute shell"添加sh解释器到首行, 如: #!/bin/bash
3. 构建步骤中"Execute shell" 提示Pytest找不到
a. 通过Python调用Pytest, 如: Pyhon -m pytest
b. 在构建步骤中"Execute shell"添加sh解释器到首行, 如: #!/bin/bash
4. Allure报告不显示数据
a. 构建步骤中"Execute shell"删除命令allure generate -c -o report/allure-report report/allure-results, Allure报告由构建后通过Allure Report插件生成, 不需要通过shell命令生成报告
b. 构建后操作 - Allure report的Results(执行结果的*.json和*.txt文件存放路径)和Report path(Allure测试报告生成路径)为相对路径
5. Build step 'Allure Report' changed build result to UNSTABLE
, 构建成功Alure report将构建标记为不稳定
存在执行失败的测试用例时,构建后操作 - Allure Report将构建标记为不稳定; 不存在失败的测试用例则不会标记为不稳定(不需理会)