Jmeter+jenkins接口自动化测试


一、环境准备

1、JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html

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

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

4、Jenkins:http://jenkins-ci.org/

详细的安装步骤不做介绍

本文使用的是:JDK1.8+apache-jmeter-3.3+apache-ant-1.9.9+Jenkins2.1,需要注意的是除了Jenkins其他工具都需要配置环境变量。

二、jmeter脚本准备

使用Jmeter随便调通一个接口,哪怕没有调通也没有关系,本文使用的msg_eml.jmx


三、build.xml准备

目录结构如下:


build.xml如下:

<?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="F:\soft_install\apache-jmeter-3.3\Test_msg_eml" />  
        <!-- 本地存放脚本的路径-->  
        <property name="scriptdirectory" value="F:\soft_install\apache-jmeter-3.3\Test_msg_eml" />          
        <!-- 需要改成自己本地的 Jmeter 目录-->      
        <property name="jmeter.home" value="F:\soft_install\apache-jmeter-3.3" />    
        <!-- 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="msg_eml"/>    
        <!-- 生成的报告的前缀-->      
        <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" />    
<!-- 修改报告名--> 
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}${time}.jtl" />
            
        <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="${scriptdirectory}" 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="${basedirectory}/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>  

Jmeter压缩包如下:

链接: https://pan.baidu.com/s/1H2Z2O6nKSNp-3t0jJuCOKQ 密码: rpua


四、Jenkins配置

指定工作空间:



清空上次构建遗留的报告:


因为要做数据库的检查,通过Jmeter把从数据库获取的数据写入注入文件


通过bat脚本处理注入文件,对job做期望结果检查


生成html报告:


通过邮件反馈执行结果:


四、效果展示:



通过badboy和Jmeter自身的录制功能基本上可以解决80%的http接口的问题。

  • 0
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JMeter是一款开源的负载测试工具,可以用于测试Web应用程序或FTP服务器。Jenkins是一款开源的持续集成工具,可以用于自动化构建、测试和部署软件。接口自动化是指使用自动化工具来测试Web服务或API的功能和性能。JMeterJenkins可以结合使用,实现接口自动化测试自动化执行和报告生成。 ### 回答2: JMeterJenkins是非常实用的工具,可以用于进行接口自动化测试。 首先,JMeter是一个用于压力测试、性能测试和负载测试的开源工具。它可以模拟多个并发用户对系统的访问,并测试系统在不同负载下的性能表现。在接口自动化测试中,我们可以使用JMeter来执行自动化接口测试脚本。我们可以录制接口的请求和相应,然后利用JMeter的功能进行参数化、断言、数据驱动和循环等操作,以便完全自动化地执行接口测试JMeter还提供了丰富的图形化结果报告,方便我们分析接口的性能和稳定性。 另一方面,Jenkins是一个用于实现持续集成与持续交付的工具。它可以帮助我们自动构建、测试和部署我们的软件项目。在接口自动化测试中,我们可以将JMeter的脚本集成到Jenkins的自动构建流程中,以实现接口测试自动化执行。我们可以在Jenkins中配置定期或触发式的构建任务,将JMeter的脚本添加为构建步骤,并利用Jenkins提供的丰富插件和功能进行测试报告的生成、邮件通知、性能监控和结果分析等操作。 通过将JMeterJenkins结合起来,我们能够实现接口自动化测试的全自动化,提高测试效率和一致性。Jenkins的持续集成和持续交付能力可以保证我们的接口测试得到及时、准确和可靠的执行。同时,JMeter的功能和灵活性可以满足我们对于接口测试的各种需求和场景。综上所述,JMeterJenkins的组合是实现接口自动化测试的一种非常有效的方式。 ### 回答3: JMeter是一种广泛使用的开源性能测试工具,主要用于测试Web应用程序的性能和负载。它可以处理各种协议和技术,包括HTTP、HTTPS、SOAP、REST、FTP、数据库和消息队列等。JMeter提供了强大的功能和灵活的配置选项,可用于模拟多种测试场景和负载环境。它可以生成各种性能图表和报告,以帮助开发和测试团队分析和评估应用程序的性能。 Jenkins是一个开源的自动化构建工具,用于自动构建、测试和部署应用程序。它提供了一个灵活的插件系统,允许用户根据自己的需求进行定制和扩展。Jenkins支持各种构建工具和版本控制系统,如Ant、Maven、Git和Subversion等。它还提供了各种功能,如代码检查、测试报告生成、持续集成和自动部署等。 结合JMeterJenkins,可以实现接口自动化测试。首先,将JMeter测试脚本放在项目的版本控制系统中,并配置Jenkins来定期触发构建任务。每次构建时,Jenkins会下载最新的代码,并执行JMeter脚本来运行接口测试测试结果可以生成报告,并在Jenkins上展示。如果测试失败,Jenkins可以通知相关人员,并触发自定义的操作,如发送电子邮件或自动部署修复的版本。 使用JMeterJenkins进行接口自动化测试有以下优点: 1.自动化执行:通过Jenkins的定时构建功能,可以实现定期执行接口测试,减少人工干预,提高效率。 2.持续集成:Jenkins可以与版本控制系统集成,实现持续集成,确保每次提交的代码都通过了接口测试。 3.快速反馈:Jenkins会立即通知测试结果,以便开发人员及时发现和修复问题。 4.可靠性和稳定性:Jenkins可以确保测试环境的一致性,提供可靠和稳定的测试结果。 综上所述,将JMeterJenkins结合起来,可以实现高效、可靠的接口自动化测试,提高应用程序的质量和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值