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

接口自动化测试环境搭建

作者: 蘑菇姐夫 | 来源:发表于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