天天看点

如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考

作者:雨滴测试

1.在python文件中生成测试报告

若要生成allure测试报告,有两种方式,一种是在cmd命令下运行输出 ;另外一种直接在python代码中运行输出,这里介绍在python代码中如何生成测试报告,具体就是如下的两个步骤 :

import os
import pytest

#步骤1: 通过Pytest生成测试报告数据文件,这里带有--alluredir参数 ,生成的数据文件目录为allure-result中
pytest.main(['cases','-sv','--alluredir','allure-result'])

# 步骤2 : 通过allure 读取数据源生成测试报告
"""
解释:
allure-result : 生成的json数据文件目录
-o allure-report : 生成的allure报告目录
-c : 生成之前清除目录
"""
cmd = "allure generate allure-result -o allure-report -c"
os.system(cmd)           

通过以上命令就可以生成allure测试报告,像下面的这样的结果 。

如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考

2.Jenkins配置全局工具

因为allure是java开发的,而且这两个工具需要支持在cmd命令行中运行 。故需要将它们俩配置到全局变量中,具体操作为:

如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考
如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考
如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考

配置后保存即可。

3.在Jenkins中配置job

但是若要想把allure报告集成到Jenkins中,需要如下3步 :

  1. 下载安装allure插件 ,若已下载这一步可忽略。
  2. 修改python代码,去掉最后生成报告的哪一步 。
  3. 将代码推送到代码服务器上,如gitee上。
  4. 配置一个自由风格的任务
  5. 运行job,生成allure报告

以下为每一步的详细操作

1.下载安装allure插件 ,若已下载这一步可忽略。

如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考
如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考

2.修改python代码,去掉最后生成报告的哪一步 。

将最开头的那段代码修改为如下的代码,注:此代码文件名叫run_case.py

import os
import pytest

#步骤1: 通过Pytest生成测试报告数据文件,这里带有--alluredir参数 ,生成的数据文件目录为allure-result中
pytest.main(['cases','-sv','--alluredir','allure-result'])

# 步骤2 : 通过allure 读取数据源生成测试报告
"""
解释:
allure-result : 生成的json数据文件目录
"""
cmd = "allure generate allure-result -c"
os.system(cmd)           

这里的代码和最开头的那段代码相比,这段代码去掉了-o allure-report 。因为在Jenkins中不需要指定allure的测试报告目录,它会自动指定和读取 。

3.将代码推送到代码服务器上,如gitee上。

上一步将代码修改后,直接通过git上传到代码服务器上 。

4.配置一个自由风格的任务

需要说明的是,其实这里配置什么类型的任务都可以,这里为了简单只是配置了一个自由风格的任务。
如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考
如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考
如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考
如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考
如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考

配置后,点击保存

5.运行job,生成allure报告

如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考

4.遇到错误及解决方案

在一开始构建的时候总是报如下的这个错误 ,

Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Picked up JAVA_TOOL_OPTIONS: Dfile.encoding=UTF8
Unrecognized option: Dfile.encoding=UTF8           

网上查了半天没找到原因 ,后来看到JAVA_TOOL_OPTIONS: Dfile.encoding=UTF8这句代码似曾相识 ,于是在系统配置中找到了这个配置了。具体如下

如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考
如何通过Jenkins生成自动化测试报告?这里有详细步骤供你参考

最后找到了这个变量,将其删除后保存。重新启动Jenkins重新构建即可。

继续阅读