• Jmeter接口自动化生成测试报告html格式


     jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。

      笔者刚做了这方面的尝试,总结出来分享给大家。

      这里需要用到ant来执行测试用例并生成HTML格式测试报告。

    一、ant下载安装
      1.1、下载地址:

      http://ant.apache.org/bindownload.cgi

      1.2、版本对应关系

      1.10.2 .zip archive  对应jdk8

      1.9.10 .zip archive  对应jdk7

      1.3、下载以后直接解压压缩包,并配置环境变量

      ANT_HOME C:\mySoftware\ant1.9                 ----为ant的解压目录

      JAVA_HOME  C:\mySoftware\jdk\1.7.0_64     ----为jdk的安装目录

      path %ANT_HOME%/bin

      1.4、检查ant是否安装成功

      在cmd窗口执行:ant -v   ,如果执行结果如下,就说明安装成功

    二、配置ant 和 jmeter
      2.1、将jmeter中extras目录下的ant-jmeter-1.1.1.jar 文件copy到ant安装目录下的lib文件夹中

      2.2、配置编译文件build.xml文件;在任意目录下创建case执行目录,以及报告的生成目录,我这边依据个人习惯,在jmeter/bin目录下创建执行目录:case_run,并在此目录下创建执行报告存放目录:report,见下图;

    在执行目录下创建编译文件:build.xml

    2.3、编辑build.xml内容

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project name="ant-jmeter-test" default="run" basedir=".">
    3. <tstamp>
    4. <format property="time" pattern="yyyyMMddhhmm" />
    5. </tstamp>
    6. <!-- 需要改成自己本地的 Jmeter 目录-->
    7. <property name="jmeter.home" value="E:\tools\apache-jmeter-4.0" />
    8. <!-- jmeter生成jtl格式的结果报告的路径-->
    9. <property name="jmeter.result.jtl.dir" value="E:\tools\apache-jmeter-4.0\bin\commonservice\report" />
    10. <!-- jmeter生成html格式的结果报告的路径-->
    11. <property name="jmeter.result.html.dir" value="E:\tools\apache-jmeter-4.0\bin\commonservice\report" />
    12. <!-- 生成的报告的前缀-->
    13. <property name="ReportName" value="TestReport" />
    14. <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    15. <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
    16. <target name="run">
    17. <antcall target="test" />
    18. <antcall target="report" />
    19. </target>
    20. <target name="test">
    21. <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
    22. <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
    23. <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
    24. <testplans dir="E:\case-report" includes="接口自动化--2.0-工作台-wxx.jmx" />
    25. <property name="jmeter.save.saveservice.output_format" value="xml"/>
    26. </jmeter>
    27. </target>
    28. <path id="xslt.classpath">
    29. <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
    30. <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    31. </path>
    32. <target name="report">
    33. <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
    34. <xslt
    35. classpathref="xslt.classpath"
    36. force="true"
    37. in="${jmeter.result.jtlName}"
    38. out="${jmeter.result.htmlName}"
    39. style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" />
    40. <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
    41. <copy todir="${jmeter.result.html.dir}">
    42. <fileset dir="${jmeter.home}/extras">
    43. <include name="collapse.png" />
    44. <include name="expand.png" />
    45. </fileset>
    46. </copy>
    47. </target>
    48. </project>

     

    2.4、模板文件:jmeter.results.shanhe.me.xsl的下载链接

      链接:https://pan.baidu.com/s/1lTdS7tccNWyy1D1kmHgEng
      提取码:d6kx
      下载以后,解压到jmeter/extras目录下,并配置build.xml文件

      

    2.5、配置jmeter.properties文件,位置在jmeter/bin目录,将配置项jmeter.save.saveservice.output_format前面的注释去掉,值改为 xml,见下图

    2.6、将要执行的脚本以及脚本所需的csv文件等,放到build.xml文件同一目录下

     2.7、在命令行进入执行目录,并执行命令:  ant run

    2.8、 执行以后的模板内容:

     

    2.9、如果觉得报告输出内容太少了,可以配置jmeter.properties文件,位置在jmeter/bin目录,将jmeter.save.saveservice开头的配置项中,需要打印的配置项改成true,并去掉前面的“#”

    2.10、如果一次要执行多个文件,则修改build.xml,并将要执行的文件放到执行目录下

    【2023最新软件测试教程】B站最用心的自动化测试深度学习教程,零基础入门到精通,学会即可就业。

    总结:

    感谢每一个认真阅读我文章的人!!!

    作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

    文档获取方式:

    加入我的软件测试交流群:632880530免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

    这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

    以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

  • 相关阅读:
    10w条数据仅需2秒,浅谈MyBatis批量插入方法
    程序员兼职那些事儿
    【国产MCU】-CH32V307-通用定时器(GPTM)-编码模式与旋转编码器驱动
    物联网协议基础知识
    【Rust日报】2022-08-07 专注于开发人员生产力的 R3BL TUI 库和应用程序
    Git和GitHub(尚硅谷的视频教学)
    数据结构-求关键路径和关键活动
    带你走进 ERNIE
    背包问题变式总结
    我的期末网页设计HTML作品——咖啡文化网页制作
  • 原文地址:https://blog.csdn.net/YJT1002/article/details/133933428