Jenkins邮件代发及生成HTML报告

这篇具有很好参考价值的文章主要介绍了Jenkins邮件代发及生成HTML报告。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Jenkins的三大概念

1.1 Job

在Jenkins平台中,都是以Job(工程/task)为单位去完成一件事情的。在使用Jenkins时,都会在Jenkins管理界面当中新建一个job/item,在job/item中来构建任务。

1.2 plugin

Jenkins提供平台,集成各种插件来完成一个job。比如:Windows\linux命令、SVN和Git(gitlab、gitee、github)代码获取,邮件发送、测试报告集成都需要安装对应的插件才能在Jenkins当中使用这些功能。

1.3 workspace

Jenkins是通过文件形式来存储和管理数据的。
所以,在安装Jenkins时,要配置Jenkins的主目录,这点我们之前已经配置过了。此外新建的每一个job的目录都会放在workspace(存放文件和数据以及执行任务成功后的文件和数据)中,相当于在workspace中每个job都有一个独立的目录,它们是相互独立的。

二、邮件和HTML插件安装

进入如下路径:Dashboard>>Manage Jenkins>>Plugin Manager,依次安装如下HTML插件和email扩展插件。
Jenkins邮件代发及生成HTML报告
Jenkins邮件代发及生成HTML报告

三、Jenkins邮件配置

3.1 配置管理员邮件地址

进入路径:Dashboard>>Manage Jenkins>>Configure System后,在页面Jenkins Location输入管理员的邮件地址。
Jenkins邮件代发及生成HTML报告

3.2 配置邮件服务器

如下图配置,我这里配置的163邮箱,大家配置也可以选择QQ邮箱,在凭证处配置你的邮箱登录账号和邮箱授权码即可,不会可以百度。配置完保存。
Jenkins邮件代发及生成HTML报告

四、新建item配置邮件和HTML

准备条件:
①新建一个item,我这里选择自由风格;
②选择代码管理工具,我这里选择Git;
③选择构建步骤,我这里使用Windows,因此配置Windows的命令行:python 相对工作空间的路径文件.py

4.1 配置邮件代发

接下来我们配置邮件的详细信息,如图点击Post-build-Actions选择Editable Email Notification
Jenkins邮件代发及生成HTML报告
选择之后,按照下面进行配置。
Jenkins邮件代发及生成HTML报告
关于content-type可以选择text或者HTML,我们这里使用HTML,因为我们后面发送邮件使用的是HTML模板。默认主题、默认内容都可以改的。
Jenkins邮件代发及生成HTML报告
查看帮助命令:
Jenkins邮件代发及生成HTML报告
我的模板的代码如下,大家有兴趣可自取。模板记得先上传仓库。

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF8" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
    <title>Unittest Report</title>
</head>
<body>
<div style="text-align: center;">
<table class="table" border="1" style="border-collapse: collapse;margin: auto;table-layout:auto;width: 50%"><tr>
    <caption style="color: #28a745 ;">项目${PROJECT_NAME} 用例执行结果如下:</caption>
    <td style="color: #28a745;width: 10%">测试人员</td>
    <td style="color: #28a745;width: 30%">XXX</td>
    <td style="color: #28a745 ;width: 10% " >用例总数</td>
    <td style="color: #28a745 ;width: 10%">${TEST_COUNTS,var="total"}</td>
</tr>
    <tr>
    <td style="color: #28a745;width: 10%">构建编号</td>
        <td style="color: #28a745;width: 30%">${BUILD_NUMBER}</td>
        <td style="color: gold ;width: 10%">成功用例</td>
        <td style="color: gold ;width: 10% ">${TEST_COUNTS,var="pass"}</td>
</tr>
    <tr>
    <td style="color: #28a745;width: 10%">构建结果</td>
        <td style="color: #28a745;width: 30%">${BUILD_STATUS}</td>
        <td style="color:red ;width: 10%">失败用例</td>
        <td style="color: red ;width: 10% ">${TEST_COUNTS,var="fail"}</td>
</tr>
    <tr>
        <td style="color: #28a745; width: 10%">构建地址</td>
        <td style="color: #28a745 ;word-wrap:break-word;word-break:break-all; width: 30%">
            <a href= "${BUILD_URL}">${BUILD_URL}</a></td>
        <td style="color:gray ;width: 10% ">跳过用例</td>
        <td style="color: gray ;width: 10%" >${TEST_COUNTS,var="skip"}</td>
</tr>
    <tr>
        <td style="color: #28a745 ;width: 10%">HTML报告地址</td>
        <td colspan="3" style="color: #28a745 ;word-wrap:break-word;word-break:break-all;width: 30%;">
            <a href="${PROJECT_URL}">${PROJECT_URL}/HTML_20Report/</a></td>
</tr>
</table>
</div>
</body>
</html>

4.2 配置HTML报告

接下来我们配置HTML报告,点击Post-build-Actions选择Publish HTML reports,设置如下,路径都是选择相对路径:
Jenkins邮件代发及生成HTML报告

4.3 配置junit提取xml文件

提取xml文件,点击Post-build-Actions选择Publish JUnit test result report,设置如下,路径都是选择相对路径,至于为什么我们要配置这个,因为Jenkins只能从xml里面读取数据,因此我们的测试报告需要生成一个xml文件才行。
Jenkins邮件代发及生成HTML报告

五、使用unittest生成HTML报告和xml文件

详细信息见代码,文件名test_bd.py;记得上传仓库。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 2022/10/4 20:49
# Author : root
# File   : test_bd.py
from selenium import webdriver
from selenium.webdriver.common.by import By
import unittest,time
from unittestreport import TestRunner
import xmlrunner

class TestUrl(unittest.TestCase):
    def setUp(self) -> None:
        br = webdriver.Chrome()
        self.br=br
    def test_1(self):
        br = self.br
        br.get("https://www.baidu.com")
        br.implicitly_wait(5)
        self.assertEqual(br.title,"百度一下,你就知道",msg="断言标题相等")
        time.sleep(2)
    def tearDown(self) -> None:
        self.br.quit()
if __name__ == '__main__':
    suite = unittest.TestSuite()
    suite.addTest(TestUrl("test_1"))
    runner = TestRunner(suite,filename="百度URL测试报告.html",report_dir="./report",
                        title="百度URL测试报告",tester="xx",desc="URL测试报告",
                        templates=2)
    runner.run()
    suite = unittest.TestSuite()
    suite.addTest(TestUrl("test_1"))
    runner_xml = xmlrunner.XMLTestRunner(output="./report",outsuffix="baiduurl",verbosity=2)
    runner_xml.run(suite)

这样我们在report里面就有了HTML和xml文件,到此,我们的项目基本配置完成,可以开始执行了。

六、构建成功却没发邮件

这里我们少配置了一个地方,如图:在配置Editable Email Notification邮件时没有选择触发条件,这里我们选择always,每执行一次就给我们发送邮件。保存。
Jenkins邮件代发及生成HTML报告

七、中文乱码解决

在实际运行后,我发现Jenkins发送的邮件中中文部分会产生乱码,因此解决方式是配置环境变量、全局变量;且HTML模板和这两个变量的编码方式一致才可解决这个问题。
①配置系统环境变量:JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
②配置Jenkins全局变量:进入Dashboard>>Manage Jenkins>>Configure System,配置
LANG=zh_CN.UTF8
③保证之前配置的content-type为html(如果使用HTML模板)
④保证模板html的编码方式为UTF8
⑤配置完毕后,关闭Tomcat,等一会重新打开,再次运行即可解决这个问题。
⑥在实际运行中发现Python执行时的也会有乱码,解决办法

但是这样还有一个问题,将编码格式改为UTF8后,控制台路径会乱码;其他正常;但是编码格式改为gb2312,发现邮件无法读取。
Jenkins邮件代发及生成HTML报告

八、Jenkins生成的HTML报告样式问题

具体在Dashboard>>Manage Jenkins>>Script Console执行脚本,如下图输入点击run。参考文章:解决样式问题

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

Jenkins邮件代发及生成HTML报告

九、效果展示

Jenkins里面查看HTML报告,老板再也不担心员工偷懒了,哈哈哈
Jenkins邮件代发及生成HTML报告
邮件查看报告:
Jenkins邮件代发及生成HTML报告文章来源地址https://www.toymoban.com/news/detail-413589.html

到了这里,关于Jenkins邮件代发及生成HTML报告的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium+python怎么搭建自动化测试框架、执行自动化测试用例、生成自动化测试报告、发送测试报告邮件

    本人在网上查找了很多做自动化的教程和实例,偶然的一个机会接触到了selenium,觉得非常好用。后来就在网上查阅各种selenium的教程,但是网上的东西真的是太多了,以至于很多东西参考完后无法系统的学习和应用。 以下整理的只是书中自动化项目的知识内容,介绍怎么搭

    2024年02月05日
    浏览(62)
  • 使用Pytest生成HTML测试报告

    背景 最近开发有关业务场景的功能时,涉及的API接口比较多,需要自己模拟多个业务场景的自动化测试(暂时不涉及性能测试),并且在每次测试完后能够生成一份测试报告。 考虑到日常使用Python自带的UnitTest,所以先从官方文档下手,了解到有相关的TestTextRunner:https://d

    2024年02月15日
    浏览(40)
  • JMeter命令行执行+生成HTML报告

    1、为什么用命令行模式 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死; 所以一般采用的方式是 在GUI模式下调整测试脚本,再用命令行模式执行; 命令行方式支持在多个环境下使用,windosw的dos环境下,也可以在linux环境上执行

    2024年02月14日
    浏览(34)
  • Jmeter生成可视化的HTML测试报告

    Jmeter也是可以生成测试报告的。 性能测试工具Jmeter由于其体积小、使用方便、学习成本低等原因,在现在的性能测试过程中,使用率越来越高,但其本身也有一定的缺点,比如提供的测试结果可视化做的很一般。 不过从3.0版本开始,jmeter引入了Dashboard Report模块,用于生成

    2024年02月12日
    浏览(36)
  • pytest两种生成测试报告的方法——html

    pytest有两种生成测试报告的方法(html和allure),今天就给大家一介绍下html 1.安装:pip install pytest-html 2.查看版本:pip show pytest-html 3.生成测试报告基本语法: 语法一:pytest --html=生成报告的url 运行用例的.py文件 语法二:pytest --html=生成报告的url --self-contained-html 运行用例的

    2024年02月08日
    浏览(70)
  • 性能测试 —— 生成html测试报告、参数化、jvm监控

    (1)找到jmeter 的安装目录,下的bin中的jmeter.properties(jmeter配置文件) (2) ctrl +f ,搜索jmeter.save.saveservice.output_format,取消井号 并且 把等号后的xml改为csv,点击保存 (1)在jmeter的安装目录下,新建tests文件夹,在tests文件夹中新建script和report文件夹,script是放脚本的,report是放测

    2024年02月09日
    浏览(36)
  • Python学习之UnitTest【使用,生成HTML测试报告】

    目录 1、 UnitTest 1.1 TestCase 1.2 TestSuite 1.3 TextTestRunner 1.4 TestLoader 2、Fixture 2.1 方法级别 2.2 类级别 2.3 模块级别 2.4 总结 3、断言 3.1 UnitTest 常用断言方法 3.2 使用方式 4、参数化 4.1 安装 类库 4.2 使用 5、跳过 6、生成HTML测试报告 UnitTest 是 Python 自带的一个单元测试框架,用它来做

    2023年04月15日
    浏览(46)
  • jmeter生成html格式接口自动化测试报告

    jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。 笔者刚做了这方面的尝试,总结出来分享给大家。 这里需要用到ant来执行测试用例并生成HTML格式测试报告。 1.1、下载地址: http://ant.apache.org/bindownload.cgi 1.2、版本

    2024年02月07日
    浏览(55)
  • Jmeter接口自动化生成测试报告html格式

    jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。 笔者刚做了这方面的尝试,总结出来分享给大家。 这里需要用到ant来执行测试用例并生成HTML格式测试报告。 一、ant下载安装 1.1、下载地址: http://ant.apache.org/bi

    2024年02月16日
    浏览(49)
  • Postman之Newman命令行运行脚本生成HTML报告

    目录 一、Newman的下载安装 二、Newman生成Html报告 三、执行脚本准备 3.1.导出项目集脚本 3.2.导出环境变量 3.3.导出全局变量 3.4.data数据驱动文件 3.5.文件存储 四、Newman运行命令简介 4.1.运行命令:newman run 4.2.常用参数: 4.3.执行命令如下: 五、Newman测试报告 5.1.执行结果如下:

    2023年04月08日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包