zoukankan      html  css  js  c++  java
  • Jmeter3.1、Ant、Jenkins接口自动化平台搭建步骤;所遇问题及解决方案

    Win下Jenkins+Jmeter+Ant自动化集成环境搭建

    环境:win10

    涉及:Jdk1.7.0_80、Jenkins2.60.3、Jmeter3.1、Ant1.9.9

    步骤:

    1.     Java下载、安装、配置环境变量、验证

    l  下载:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html (win64

    l  安装:默认

    l  配置:JAVA_HOME:C:Program FilesJavajdk1.7.0_80

    l  配置:Path:增加%JAVA_HOME%in;

    l  验证:win+R输入cmd进入cmd.exe,执行javac -version,显示java版本即表示jdk安装成功

    2.     Jmeter下载、安装、配置环境变量、验证

    l  下载:http://archive.apache.org/dist/jmeter/binaries/

    l  解压:默认

    l  配置:JMETER_HOME:D:1Test2Jmeterapache-jmeter-3.1

    l  配置:

    CLASSPATH:%JMETER_HOME%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;%JMETER_HOME%liblogkit-2.0.jar;

    l  启动:进入apache-jmeter-3.1in下启动jmeter.bat,jmeter启动成功即为安装成功

    3.     Ant下载、配置环境变量、验证

    l  下载:http://ant.apache.org/bindownload.cgi

    l  解压:默认

    l  配置:ANT_HOME:D:1Test2Jmeterant

    l  配置:CLASSPATH:增加%ANT_HOME%lib;

    l  配置:Path:增加%ANT_HOME%in;

    l  验证:win+R输入cmd进入cmd.exe,进入ant目录,执行ant -version,显示版本即表示安装成功

    4.     修改jmeter.properties

    修改apache-jmeter3.1in下的jmeter.properties

    jmeter.properties

    5.    准备好脚本,本人脚本存放路径:D:1Test2Jmeterscripts下的各个test目录下。

    注:reports用于生成报告

    6.     将apache-jmeter-3.1extras下的ant-jmeter-1.1.1.jar放在antlib下

    7.     Ant配置build.xml

    l  将apache-jmeter3.1extras中的build.xml复制到antin下,并进行配置保存。

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="ant-jmeter-test" default="run" basedir=".">
          <tstamp>
            <format property="time" pattern="_yyyyMMdd_HHmmss" />
        </tstamp>
        <!-- 需要改成自己本地的Jmeter路径,路径根据自己情况更改-->  
        <property name="jmeter.home" value="D:1Test2Jmeterapache-jmeter-3.1" />
        <property name="report.title" value="接口测试"/>
        <!-- jmeter生成jtl格式的结果报告的路径,路径根据自己情况更改--> 
        <property name="jmeter.result.jtl.dir" value="D:1Test2Jmeterscripts
    eports" />
        <!-- jmeter生成html格式的结果报告的路径,路径根据自己情况更改-->
        <property name="jmeter.result.html.dir" value="D:1Test2Jmeterscripts
    eports" />
        <property name="detail" value="_detail" />
        <!-- 生成的报告的前缀-->  
        <property name="ReportName" value="Report" />
        <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="jmeter.result.jtlNamedetail" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
        <property name="jmeter.result.htmlNamedetail" value="${jmeter.result.html.dir}/${ReportName}${time}${detail}.html" />
    
        <target name="run">
            <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"指包含以下路径下的所有jmx,如需执行多路径下的脚本,则将路径分别加载testplans里,路径根据自己情况更改-->
                <testplans dir="D:1Test2Jmeterscripts	est3N" includes="*.jmx" />
                <testplans dir="D:1Test2Jmeterscripts	est3" includes="*.jmx" />
                <testplans dir="D:1Test2Jmeterscripts	est2" includes="*.jmx" />
                <testplans dir="D:1Test2Jmeterscripts	est" includes="*.jmx" />
    
                <property name="jmeter.save.saveservice.output_format" value="xml"/>
            </jmeter>
        </target>
    
        <path id="xslt.classpath">
            <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
            <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
        </path>
    
    
    <!-- 生成2个报告,一个概要的,一个详细的 --> 
           <target name="report">
        <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
        <xslt 
              classpathref="xslt.classpath"
              force="true"
              in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName}"
              style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
              <param name="dateReport" expression="${report.datestamp}"/>
       </xslt>
       <xslt 
              classpathref="xslt.classpath"
              force="true"
              in="${jmeter.result.jtlNamedetail}"
              out="${jmeter.result.htmlNamedetail}"
              style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl">
              <param name="dateReport" expression="${report.datestamp}"/>
       </xslt>
        
        
                    <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
            <copy todir="${jmeter.result.html.dir}">
                <fileset dir="${jmeter.home}/extras">
                    <include name="collapse.png" />
                    <include name="expand.png" />
                </fileset>
            </copy>
        </target>
    
    </project>
    build_20191109.xml

     

    l  win+R输入cmd进入cmd.exe,输入一下命令,执行ant -buildfile build_20191109.xml,即可成功。

    D:(进入D盘)

    cd D:1Test2Jmeterantin(进入bin目录下)

    ant -buildfile build_20191109.xml(运行)

     

     

    8.     Jenkins下载、安装、启动

    l  下载:https://jenkins.io/download/,下载左边稳定版

    l  安装:默认一切安装即可

    l  登录localhost:8080,首次登录用户名为administrator,密码为提示文件中的内容,复制过来即可登录,登录后设置自己的用户名和密码即可

    l  插件:首页->系统设置->管理插件->可选插件,根据需求搜索,本人已安装的插件如下图:

     

     

     

    以前走的弯路,及遇到的错误问题

    1、如提示错误:2 字节 UT8-8 序列的字节 2无效

    将build文件用notepad++打开,在编码选择“以UTF-8无BOM格式编码”,然后保存

    2、java(TM) platform se binary 已停止工作

     build配置文件按如下网页修改

    http://www.cnblogs.com/test2016/p/5342065.html

    3、${lib.dir} does not exist.

    将以下内容注释掉:

    <path id="xslt.classpath">

            <fileset dir="${lib.dir}" includes="xalan*.jar"/>

            <fileset dir="${lib.dir}" includes="serializer*.jar"/>

    </path>

    4、The following error occurred while executing this line:

    解决办法:未确认

    Variable name: _JAVA_OPTIONS

    Variable value: -Xmx512M

    5、jmeter jar file not found or not a valid file:

    D:1Test2JmeterinApacheJMeter.jar

    解决:Jmeter路径不对

    6、java.lang.IllegalAccessError:

     tried to access class org.apache.xml.serializer.ExtendedContentHandler from class org.apache.xalan.transformer.TransformerImpl

    ant下lib下有xalan*.jar,serializer*.jar,删除即可

    7、The <copy> type doesn't support nested text data ("86 90").

    可能是粘贴过去的内容不兼容,重新编写一遍即可

     

  • 相关阅读:
    python 函数2
    python 函数
    python 中string格式化
    python中的集合
    值&&引用传递&&序列化
    线程&&进程
    c#委托
    .net框架介绍
    类的定义
    ef中关于数据库中int为null问题
  • 原文地址:https://www.cnblogs.com/jxba/p/9218407.html
Copyright © 2011-2022 走看看