小豆子的笔记QAQ

导航

将JMETER+ANT移植到Jenkins中运行,并显示测试报告

  • 背景

  1、在上一篇【将JMETER+ANT移植到LINUX环境下运行】基础上

  2、想要实现在jenkins上,当项目构建成功之后,自动执行Jmeter测试用例。

  3、执行之后的测试报告显示在构建项目上

 

内容一、构建空白项目,执行jmeter脚本

  1、由于只是测试该功能是否正常,所以需要在jenkins上创建一个空项目即可;

  2、选择JDK

 

 

  3、选择构建Ant

 

   4、保存配置,点击立即构建,会自动执行jemter中的脚本,若执行成功,需要进入报告生成目录查看报告情况

 

问题:遇到【Build step 'Invoke Ant' marked build as failure】的情况。

百度了好久,大概推定是权限问题,但是我的jenkins的账号是管理员权限。全局变量设置也没有问题。

最后看到我上传的测试用例压缩包的所有者是admin,而非jenkins,修改之后为jenkins之后,再次执行显示正确。

修改文件所有者和组:

1、cd 进入该jenkins目录下

2、chown -R jenkins Jmeter    #修改所有者change own,将jmeter的所有者修改为jenkins,-R表示将其文件下的所有文件均修改

3、chgrp -R jenkins Jmeter    #修改组change group,将jmeter的组修改为jenkins,-R表示将其文件下的所有文件均修改

 

 

内容二、内容一中生成的报告,需要切换到ant中配置的报告路径查看不是很方便,增加在构建项目中html报告输出显示

  1、若没有添加HTML报告,当前构建项目中不会有HTML报告这个内容(如下图)

 

 2、若希望在构建项目结束后,可以在项目中显示html报告这个内容,该内容可以快速找到你的报告,并查看

需要安装的插件有:HTML Publisher,安装完成后,会在构建后操作中以下显示;

a、HTML directory to archive  表示报告路径。若该报告产生在该工作区,只要填写工作区的相对路径即可。如:我的项目为test1,我的报告产生在test1/TechPlatform/Result_log/html下,那么我只要填写/TechPlatform/Result_log/html即可。

b、index page  表示在构建项目中显示的报告内容。*.html表示显示所有的报告,即报告路径下存在多个报告,可以显示多个;若你只想要显示特定某一个,将名字写成你需要的那个即可。若你写的名称路径中不存在,在构建项目中不存在,会显示为空白的

 

 

  3、执行结果,在工作区会显示html report的内容

4、点击查看,若报告目录下存在多个报告,分开显示;

显示是zip压缩包的形成,需要下载,由于报告路径下会存在很多份测试报告

 

 

问题:报告没有样式

  原因:jenkins由于自身原因将样式给关闭了,需要去执行脚本将他打开即可

  解决1-临时解决:jenkins-系统管理-脚本命令行【System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")】,该方式比较方便,但是这个方式若jenkins重启之后,会失效,需要重新设置。

  解决2-永久解决:下载Groovy插件,在项目构建中添加【System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")】

问题:由于ant,执行一次会产生一份时间戳的报告。若只想要产生一份文件。

  解决1、修改ant中的build.xml配置文件,将时间去掉。但是会产生另外一个问题,第一次执行的内容,在第二次执行时,没有被覆盖。故第二次执行的报告会包含第一次的,不满足要求;

  解决2、使用jenkins实现。在执行ant之前,执行一下shell先将html和jtl目录下的内容删除;

 

posted on 2021-07-02 10:34  小豆子的笔记QAQ  阅读(280)  评论(0编辑  收藏  举报