jenkins中邮件模板获取测试结果值为空,${TEST_COUNTS},${FAILED_TESTS}为空问题

在jenkins中配置邮件模板,使用邮件发送构建结果的通知,我这里使用的是 Extended E-mail Notification 配置邮件通知的。

1)首先安装 Email Extension 插件,管理Jenkins->插件管理,这里安装插件“Email Extension”用于设置邮件模板。

2)配置系统默认邮件参数,管理Jenkins->系统配置,Extended E-mail Notification 设置相关参数。

具体的配置说明可参考我的另一片文章:https://www.cnblogs.com/mq0036/p/16136653.html

 

模板变量说明,在如下图中点击问号,则会显示可以使用的变量。

 我在邮件模板中获取测试结果信息为空,从网上查询解决方法,参考如下。 

 

=======================================================================================

解决jenkins获取${TEST_COUNTS}值为空问题



${TEST_COUNTS}用法:-显示测试的数量。
· var– 默认“total”。
· total -所有测试的数量。
· fail -失败测试的数量。
· skip -跳过测试的数量。
项目使用的testng框架,执行脚本时明明有打印显示出执行test的个数,以及成功,失败,忽略的test数量,但是使用
${TEST_COUNTS}
${TEST_COUNTS, var="fail"}
${TEST_COUNTS, var="skip"}
获取的值均为空。
解决方法:
jenkins中选择对应的项目,点击右侧菜单-配置-构建后操作-添加构建后操作步骤-Publish TestNG Results,其中参数默认即可,如下图:

保存后,再次执行构建,查看邮件,就可以正确获取到测试执行的数量了。

如果是使用 Pipeline 模式,可以参考插件的官方网站说明,如下:

  post {
    always {
      step([$class: 'Publisher', reportFilenamePattern: '**/testng-results.xml'])
    }
  }

 

并且在jenkins的项目中也增加了TestNG Results和最新测试结果菜单,这两个菜单里面关于测试执行结果都显示的很详细。

 

出处:https://blog.csdn.net/qq_26461949/article/details/111498878

=======================================================================================

pytest在jenkins中获取${TEST_COUNTS}值为空问题

网上查询的解决办法大部分都是java语言的框架,执行结束会生成xml文件

pytest框架的解决方法

需要在 pytest.main()添加参数:–junitxml=report/results.xml

pytest.main(["-sq","--alluredir", reportDir+"/tmp",'--clean-alluredir',f'--junitxml={reportDir+"/results.xml"}'])

在构建后操作中选择Publish Junit test result report,

在这里插入图片描述

配置xml文件,其它选项默认不需要修改
在这里插入图片描述

保存上述配置,再次构建,查看邮件,就可以正确获取到测试执行的数量

在这里插入图片描述

 

出处:https://blog.csdn.net/a285746751/article/details/118667711

=======================================================================================

我自己是测试C#程序的 msTest 代码,我的环境是VS2019,测试是使用的 vsTest.Console.exe 工具,日志中也能正常显示测试结果,但邮件模板中却无法获取到。

 

 我这里使用的插件是Mstest

 

 如果是使用的Pipeline模式的话,可参考插件官方网站说明,如下:

Pipeline Support

The MSTest plugin supports the pipeline plugin (and/or Jenkinsfile build definitions). The plugin call be called with an instruction like

step([$class: 'MSTestPublisher', testResultsFile:"**/*.trx", failOnError: true, keepLongStdio: true])

Or with its shortest alternative:

mstest testResultsFile:"**/*.trx", keepLongStdio: true
大家根据自己使用的环境,以及编程语言等,选择不同的插件。

posted on 2022-05-20 10:01  jack_Meng  阅读(803)  评论(0编辑  收藏  举报

导航