美文网首页软件测试jmeter接口测试群集·测试人在路上
Jenkins+Jmeter+Ant自动化环境搭建及报告生成

Jenkins+Jmeter+Ant自动化环境搭建及报告生成

作者: orange_ade | 来源:发表于2019-03-27 17:58 被阅读6次

    一、jdk安装


    1.系统变量→新建 JAVA_HOME 变量 。

    变量值填写jdk的安装目录(本人是 C:\Progrom Files\Java\jdk1.8.0_141);

    2.系统变量→寻找 Path 变量→编辑

    在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

    (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

    3.系统变量→新建 CLASSPATH 变量

    变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)

    系统变量配置完毕

    4.检验是否配置成功 运行cmd 输入 java-version 

    二、jmeter安装


    1.解压apache-jmeter-3.2.zip到C:\software\apache-jmeter-3.2目录下。

    Jmeter:http://jmeter.apache.org/download_jmeter.cgi

    2.Jmeter插件的安装。解压JMeterPlugins-Extras-1.3.0.zip、JMeterPlugins-Standard-1.3.0.zip,将对应ext目录下的文件拷贝到C:\software\apache-jmeter-3.2\lib\ext目录下;

    Jmeter插件下载地址:https://jmeter-plugins.org/downloads/all/

    3.配置jmeter环境变量:

    1)设置环境变量,新建系统变量在变量名中输入:JMETER_HOME,变量值中输入:C:\software\apache-jmeter-3.2,点击确定即可。

    2)在环境变量CLASSPATH中添

    加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;

    在环境变量Path中添加%JMETER_HOME%\bin3)检验是否配置成功运行cmd 输入 jmeter -v (jmeter和 -v 之间有空格)

    若如图所示显示版本信息 则说明安装和配置成功。

    三、安装ANT


    1.解压apache-ant-1.10.1-bin.zip到C:\software\apache-ant-1.10.1目录下;

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

    2.配置Ant环境变量新建以下环境变量:

    1)ANT_HOME:C:\software\apache-ant-1.10.1,此为你的ANT安装路径;

    设置完成后,点击"确认"来保存。

    2)在环境变量PATH的最后面添加一下内容:

    ;%ANT_HOME%\bin 注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除。

    进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了.

    3.本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告;

    jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;

    将apache-jmeter-3.2\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.10.1\lib目录下;

    将apache-jmeter-3.2\extras下的build.xml文件放置在一份在apache-ant-1.9.9\bin目录下,和自己创建的目录结构下,见下图

    目录结构:ResultLog放置自动生成的报告,Script放置需要执行的脚本文件

    然后修改build.xml配置(一份放Apache-ant里,一份放上图这里)

    <?xml version="1.0" encoding="utf-8"?>

    <project name="JmeterTest" default="all" basedir=".">

        <tstamp>

            <format property="time" pattern="yyyyMMddhhmm" />

        </tstamp>

        <!-- 需要改成自己本地的 Jmeter 目录-->

    <property name="jmeter.home" value="D:\apache-jmeter-3.0\apache-jmeter-3.0" />

        <!-- jmeter生成jtl格式的结果报告的路径-->

    <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-3.0\JmeterSpace\ResultLog\jtl" />

        <!-- jmeter生成html格式的结果报告的路径-->

    <property name="jmeter.result.html.dir" value="D:\apache-jmeter-3.0\JmeterSpace\ResultLog\html" />

        <!-- 生成的报告的前缀 -->

    <property name="ReportName" value="TestReport" />

    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />

    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />

        <!-- 接收测试报告的邮箱 -->

    <property name="mail_to" value="1111@i56.com" />

        <target name="all">

            <antcall target="test" />

            <antcall target="report" />

        </target>

        <target name="test">

            <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />

            <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">

                <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->

                <testplans dir="D:\apache-jmeter-3.0\JmeterSpace\Script" includes="*.jmx" />

        <property name="jmeter.save.saveservice.output_format" value="xml"/>

            </jmeter>

        </target>

        <target name="report">

            <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter_detail_report_v1.4.xsl" />

            <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->

            <copy todir="${jmeter.result.html.dir}">

                <fileset dir="${jmeter.home}/extras">

                    <include name="collapse.png" />

                    <include name="expand.png" />

                </fileset>

            </copy>

        </target>

        <!-- 发送邮件 -->

    </project>

    注意:上面加粗的地方必须加上不然会报错

    配置完成后,运行script里的脚本命令如下:在D:\Jmeter\JmeterSpace打开cmd

    输入:ant -Dtest=script或直接输入ant

    打开生成的报告(ResultLog中的Html文件)

    四、jenkins部署


    1.安装https://jenkins.io/download/  下载war包 

    1)将war包放到apache-tomcat的webapps下(tomcat自己下载好)

    2)运行tomcat/bin下的startup.sh会在webapps下生成jenkins文件

    http://localhost:8080/jenkins/这样的地址即可

    若遇到:jenkins报错:Problem accessing /jenkins/. Reason: HTTP ERROR 404

    解决办法:这是一个Jenkins的Bug。临时解决方法是:浏览器中直接输入http://localhost:8080;不要访问"/jenkins"这个路径。

    2.配置jenkins

    1)访问jenkins->系统管理->管理插件安装AntPlugin和PerformancePlugin

    2)访问jenkins->系统管理-> GlobalTool Configuration  配置Ant路径

    背景:这里只介绍在jenkins中如何启动本地已有Jmeter安装的情况。且接口测试的脚本已经做好。

    步骤:

    1. 启动Jenkins后,新建一个自由风格的项目

    2. 项目名称等配置如下图所示:

    2. 点击“增加构建步骤”,新建一个“Execute Windows batch command”,按照如下方式填写命令

    其中,<1>为接口测试脚本的名称;<2>为Jmeter执行后默认生成的jtl结果文件;<3>为生成的html报告存放的文件夹名称。Jmeter3及以后的版本才有生成html的功能。

    -n:非 GUI 模式 -> 在非 GUI 模式下运行 JMeter

    -t:测试文件 -> 要运行的 JMeter 测试脚本文件

    -l:日志文件 -> 记录结果的文件

    -e:指脚本运行完后生成报告

    -o:指定报告存放的目录 

    3. 执行完成后,获取生产的html的报告。

    在Jenkins中添加了html报告插件:http://updates.jenkins-ci.org/download/plugins/

    假设你的报告是存放在%workspace%/temp下面的,那么这里的相对路径就填写为temp

    4. 点击保存,然后立即构建,就OK了。但是HTML Publisher Plugin 插件在新的Jenkins版本中会导致打开的网页中无法加载CSS以及无法点击按钮的情况,由于CSP导致,可在Jenkins控制台中执行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

    相关文章

      网友评论

        本文标题:Jenkins+Jmeter+Ant自动化环境搭建及报告生成

        本文链接:https://www.haomeiwen.com/subject/xyrtbqtx.html