一、什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比,接口测试天生为高复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。
基于接口测试的重要性,以及它比较容易自动化的特性,通过持续集成的接口监控能够及时的发现项目中存在的问题,这对持续运营的项目来说,非常重要。
如上图是添加了一个简单的接口及组成的部件,有需要可以加入逻辑控制器,后置正则处理器,以及其他的监听器。
对于用例的管理,不同模块的用例可以加入逻辑控制器,对组合的接口需要用到后置正则,对于需要连接数据库的需要下载MySQL JDBC driver(),拷贝这个文件到JMeter安装路径下的“lib"文件夹,建立“JDBC Connection Configuation"
四、生成测试报告采用ant的方式,首先下载ant的安装包,解压配置环境变量。
表示配置ant成功
○ 配置build.xml文件,也可以使用C:\apache-jmeter-2.12\extras目录下的build.xml默认文件。
<?xml version="1.0" encoding="UTF-8"?>
<projectname="ant-jmeter-test" default="all" basedir=".">
<tstamp>
<formatproperty="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<propertyname="jmeter.home" value="C:\apache-jmeter-2.12" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<propertyname="jmeter.result.jtl.dir" value="C:\apache-jmeter-2.12\resultLog\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<propertyname="jmeter.result.html.dir" value="C:\apache-jmeter-2.12\resultLog\html" />
<!-- 生成的报告的前缀-->
<propertyname="ReportName" value="TestReport" />
<propertyname="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
<propertyname="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
<targetname="all">
<antcalltarget="test" />
<antcalltarget="report" />
</target>
<targetname="test">
<taskdefname="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeterjmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplansdir="C:\apache-jmeter-2.12\testcase" includes="*.jmx" />
<propertyname="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<targetname="report">
<xsltin="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl" />
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝-->
<copytodir="${jmeter.result.html.dir}">
<filesetdir="${jmeter.home}/extras">
<includename="collapse.png" />
<includename="expand.png" />
</fileset>
</copy>
</target>
</project>
○ 设置脚本执行目录,将build.xml放在jmeter的根目录,新件文件夹:resultlog,testcase。在resultlog下面新建文件夹html,jtl。
○ Jmeter的lib包里把xalan-2.7.2.jar和serializer-2.7.2.jar copy到Ant的lib包里,C:\apache-jmeter-2.12\extras目录下的ant-jmeter-1.1.1.jar copy到Ant的lib包里。
○ 在jmeter根目录下执行ant。