美文网首页
接口自动化测试环境搭建

接口自动化测试环境搭建

作者: 蘑菇姐夫 | 来源:发表于2017-06-27 10:43 被阅读0次

    平时在服务端测试时,我们需要涉及2方面的内容:

    1. 基于JAVA白盒的单元测试;
    2. 基于Jmeter黑盒的接口测试&性能测试;

    不管是黑盒还是白盒,我们一旦实现代码或脚本的测试,就可以做到可持续集成,这在接口的日常回归和冒烟测试中非常的高效。

    下面开始介绍如何实现以上2个方面的可持续集成环境搭建。

    1. Jenkins+Ant+Jmeter框架

    1.1 环境搭建

    环境配置(仅代表本文作者搭建环境时相关配置):
    JDK:jdk1.8.0_144
    Ant:apache-ant-1.9.9
    Jmeter: apache-jmeter-3.0
    Jenkins: jenkins-2.60.2

    1.1.1 Jenkins环境搭建

    1. 下载最新的版本(一个 WAR 文件)。Jenkins官方网址: http://Jenkins-ci.org/

    2. 运行 Java -jar jenkins.war
      注意:Jenkins 需要运行 Java 5以及以上的版本。
      还有一种安装方式就是将下载的war包文件部署到 servlet 容器,然后启动容器,在浏览器的URL地址栏中输入类似http://localhost:8080/jenkins/这样的地址即可。下图是安装成功后的界面(使用的是Linux+Tomcat6+Java6环境):

    3. Jenkins配置
      写在配置前的一些话:Jenkins的配置不可能全部都说到的,大部分配置是有英文说明的,点击输入框后面的问号就可以看见了。英文不会用翻译工具,连蒙带猜的,多测试几次,你就懂了。

    4. Jenkins服务默认端口为8080,如与其他服务冲突,可在..\Jenkins\jenkins.xml中修改默认端口,如我这里修改为--httpPort=8081;


    另外一种修改端口号方式:

    1. 安装Jenkins时运行“Java -jar jenkins.war” 命令,出现下列问题
      点击查看大图
      只是因为8080端口已经有程序占用了,需要修改端口号。
      解决方法是:
      运行“java -jar jenkins.war --ajp13Port=-1 --httpPort=8089”命令。
      8089是新的端口号,可以换成任何你想要的,但是不要和其他程序冲突哦。
      OK啦。
      2、安装jenkins服务,这样每次不用每次敲命令,开机自启动
      (Jenkins->Manage Jenkins->Installing Jenkins as Windows service, 安装到你指定目录D:\jenkins)
      关掉启动的窗口,试着启动安装的服务
      控制面板->管理工具->服务, 可以看到jenkins, 右击启动

    Jenkins服务默认是自动启动的,如果想修改为手动启动,请自行管理->服务,找到Jenkins服务,修改为手动启动即可。


    打开Jenkins,首次进入会默认让你选择安装插件(此处如果完全不清楚自己需要什么插件,建议全选)。插件安装完成之后,需要设置登录用户,按照自己喜好设置即可。

    1.1.2 Ant环境搭建

    1. 解压apache-ant-1.9.7-bin.zip到D:\Progrom Files目录下;


    2. 配置Ant环境变量
      新建以下环境变量:
      ANT_HOME:D:\Progrom Files\apache-ant-1.9.7,此为你的ANT安装路径;设置完成后,点击"确认"来保存。

    3. 在环境变量PATH的最后面添加一下内容:
      ;%ANT_HOME%\bin 注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除。

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

    5. 本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告;
      jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
      将apache-jmeter-2.13\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.7\lib目录下;

    6. 在\apache-jmeter-2.13\extras目录下打开CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-2.13\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件。
      若构建失败,请分析cmd打印的日志消息,定位问题;

    7. build文件推荐设置:

    **[html]** [view plain](http://blog.csdn.net/qi_lin7/article/details/52045713#) [copy](http://blog.csdn.net/qi_lin7/article/details/52045713#)
    
    <!-- 这个是推荐build,至于原理,大家可以查看ant-jmeter-1.1.1.jar源码 -->    
    
    **[html]** [view plain](http://blog.csdn.net/qi_lin7/article/details/52045713#) [copy](http://blog.csdn.net/qi_lin7/article/details/52045713#)
    
    <?xml version="1.0" encoding="UTF-8"?>  
      
    <project name="ant-jmeter-test" default="run" basedir=".">  
          
        <tstamp>  
            <format property="time" pattern="yyyyMMddhhmm" />  
        </tstamp>  
        <property name="basedirectory" value="D:\Program Files\apache-jmeter-3.1\extras" />  
        <!-- 需要改成自己本地的 Jmeter 目录-->    
        <property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.1" />  
        <!-- jmeter生成jtl格式的结果报告的路径-->   
        <property name="jmeter.result.jtl.dir" value="${basedirectory}" />  
        <!-- jmeter生成html格式的结果报告的路径-->  
        <property name="jmeter.result.html.dir" value="${basedirectory}" />  
        <!-- Name of test (without .jmx) -->  
        <property name="test" value="Test"/>  
        <!-- 生成的报告的前缀-->    
        <property name="ReportName" value="TestReport" />  
        <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" />  
        <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" />  
          
        <path id="xslt.classpath">  
            <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
            <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
        </path>  
          
        <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"指包含此目录下的所有jmeter脚本-->  
                <testplans dir="${basedirectory}" includes="${test}.jmx" />  
            </jmeter>  
        </target>  
              
        <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>  
            <copy todir="${jmeter.result.html.dir}">  
                <fileset dir="${jmeter.home}/extras">  
                    <include name="collapse.png" />  
                    <include name="expand.png" />  
                </fileset>  
            </copy>  
        </target>  
          
    </project>  
    

    1.1.3 Jmeter环境搭建

    1. 解压apache-jmeter-2.13.zip到D:\Progrom Files目录下。


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


    3. 配置jmeter环境变量:

    • 设置环境变量,新建系统变量在变量名中输入:JMETER_HOME,变量值中输入:D:\Progrom Files\apache-jmeter-2.13,点击确定即可。
    • 在环境变量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 之间有空格)
      若如图所示 显示版本信息 则说明安装和配置成功。


    1.2 项目实战

    步骤1:

    Jmeter脚本设计,包括性能测试脚本和接口测试脚本test.jmx

    步骤2:

    将Jmeter脚本放在文件夹 *D:\apache-jmeter-3.0\extras *;

    步骤3:

    本地登陆http://121.40.190.131:1080/ ,构建测试环境,可复制已经搭建好的test例子(项目路径:http://121.40.190.131:1080/job/test), 然后进入配置更改以下2项即可:

    image.png image.png

    如上图,红色框内的信息需要跟你的脚本名称一致,这样可易于识别不同的脚本,不同的结果。如我们的脚本为test.jmx,那么我们只需更改红框内信息为 test.jtl、test.html,其他无需更改,点击构建即可;

    步骤4:

    查看测试结果,如图:

    image.png

    同时,可以可以点击进入每次构建的Performance Report,查看具体的jtl文件信息,如下图:

    image.png

    如上图,可以查看本次构建,线程数、响应时间、错误率与上次相比,增减量。

    2. Jenkins+Java+Maven+Junit+Git框架

    2.1 环境搭建

    //

    2.2 项目实战

    步骤1:

    Java单元测试——基于主干拉取autotest分支,然后基于autotest代码进行白盒测试。在每次新项目提测时,将新代码合并至autotest分支即可,不会覆盖我们的单测代码;同时,也可以用于每日的业务回归测试。

    步骤2:

    提交本地代码至autotest分支,复制已经搭建好的 jingqi_center项目(http://test.cxjc.youzibuy.com/jenkins/view/%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E5%8C%96/job/jingqi_center/), 只需修改git的路径和分支号即可,如下图:

    image.png

    步骤3:

    构建完成后,可查看测试结果及历来构建的趋势,如下图:

    image.png

    同时,点击最新测试结果,可查看具体信息:

    image.png

    如上图,会列出Failed Tests的接口,点击 + ,可展示具体信息:

    image.png

    相关文章

      网友评论

          本文标题:接口自动化测试环境搭建

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