ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

接口自动化测试,Jmeter+ant+jenkins

2020-12-07 19:02:31  阅读:158  来源: 互联网

标签:jmeter 接口 ant html 测试 apache jenkins Jmeter


一、工具

  1. 脚本录制:badboy,jmeter,fiddler
  2. 编译:ant
  3. 持续集成平台:jenkins

二、什么是接口测试

    接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

    接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。

    接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比,接口测试天生为高复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。

    基于接口测试的重要性,以及它比较容易自动化的特性,通过持续集成的接口监控能够及时的发现项目中存在的问题,这对持续运营的项目来说,非常重要。

三、测试流程

1、测试接口文档(需求文档)

2、根据接口文档编写测试用例(用例编写完全可以按照功能用例编写规则来,例如等价类划分,边界值等设计方法)

3、执行测试,查看不同的参数请求,接口返回的数据是否达到预期

4、部署到持续集成的环境中

5、设定脚本运行频率,告警方式等基本参数,进行接口的日常监控

6、每日进行接口脚本的维护更新,接口异常的处理

四、环境部署

1、Jmeter

Step1:从官网下载JDK和jmeter

下载地址:

Jmeter:https://jmeter.apache.org/

JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Step2:安装JDK

将下载好的JDK解压缩进行安装,安装完成后配置JDK的环境变量

位置:计算机—>属性—>高级系统设置—>高级—>环境变量

(1)系统变量—>新建JAVA_HOME变量,变量值填写jdk的安装目录(C:\Program Files\Java\jdk1.8.0_91)

(2)系统变量—寻找Path变量—>编辑,在变量值中添加如下2个变量值

   C:\Program Files\Java\jdk1.8.0_91\bin

   C:\Program Files\Java\jdk1.8.0_91\jre\bin

(3)系统变量—>新建CLASSPATH变量,变量值为

   C:\Program Files\Java\jdk1.8.0_91\lib

   C:\Program Files\Java\jdk1.8.0_91\lib\tools.jar

(4)检验是否配置成功,运行cms,输入命令:java –version,如果出现如下图所示的结果,说明配置成功

Step3:安装jmeter

(1)将下载好的jmeter进行解压缩

(2)解压缩完成后进入jmeter目录,点击如图所示的批处理命令就可以了

之后就会打开jmeter,如下图

PS:百度时发现有的安装教程中说需要配置环境变量,但是这块不进行环境变量配置也是可以的,如下是环境变量配置的说明:

(1)加入系统变量JMETER_HOME,变量值为jmeter的安装目录(D:\apache-jmeter-3.0)

(2)系统变量CLASSPATH中加入下边的内容:

%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;

%JMETER_HOME%\lib\jorphan.jar;

%JMETER_HOME%\lib\logkit-2.0.jar

运行jmeter的方式:

(1)运行D:\apache-jmeter-3.0\bin下的jmeter.bat

(2)双击jar包运行(双击D:\apache-jmeter-3.0\bin下的ApacheJMeter.jar运行)

2、Ant

Step1:从官网下载安装包

下载地址:http://ant.apache.org/

Step2:配置环境变量

(1)系统变量—>新建ANT_HOME,变量值为ant的安装目录(F:\apache-ant-1.10.5)

(2)系统变量—>在Path变量中添加:F:\apache-ant-1.10.5\bin

Step3:检验配置,打开cmd,输入命令:ant –v,如果出现如下图所示的结果,说明配置成功

3、Jenkins

Step1:从官网下载安装包

下载地址:https://jenkins.io/index.html

我下载的是war包,也没有布Tomcat,直接放在磁盘下

启动jenkins:在cmd进到放jenkins的war包的目录下,运行java –jar Jenkins.war

访问地址:http://localhost:8080/

五、jmeter编写脚本+ant执行脚本&生成报告

1、在jmeter目录下新建文件夹demo(名字和路径随意,注意在build.xml配置时一致即可),在demo下新建文件夹report(用于存放生成的报告)和script(用于存放脚本)

2、利用jmeter编写接口测试脚本,将脚本保存到D:\apache-jmeter-3.0\demo\script目录下

3、修改jmeter配置文件jmeter.properties(D:\apache-jmeter-3.0\bin)

将jmeter.save.saveservice.output_format=csv

改为

jmeter.save.saveservice.output_format=xml并且去掉前面的注释符

修改原因:jmeter执行结果默认保存的是csv格式,csv格式的无法转换为html格式,这块将配置修改为xml格式,这样生成的执行结果的格式为xml,xml是可以转换为html格式的

4、在jmeter的extras(D:\apache-jmeter-3.0\extras)目录下,将ant-jmeter-1.1.1.jar复制到ant的lib(F:\apache-ant-1.10.5\lib)目录下

5、检查jmeter的extras目录下是否有如下2个文件(将*.jtl格式的报告转换为*.html格式),没有就自行下载放进去

jmeter-results-report_21.xsl

jmeter-results-detail-report_21.xsl

6、在demo/script目录下创建build.xml文件(ant执行脚本时会用到),注意根据自己的实际情况对圈出部分的配置进行更改

7、打开cmd,到D:\apache-jmeter-3.0\demo\script目录下执行命令:ant,会自动执行jmeter脚本,如果出现如下结果,则运行成功

8、运行成功后,可以在D:\apache-jmeter-3.0\demo\report查看生成的jtl和html格式的报告

六、使用jenkins构建自动化平台

1、打开jenkins,新建job,创建一个自由风格的软件项目

2、安装插件Performance plugin、HTML Publisher plugin、Ant Plugin,进入系统管理—插件管理—可选插件下搜索并安装

3、配置

(1)源码管理(Source Code Management):没有通过git或者SVN管理,选择none

(2)构建(Build)

点击“Add build step”—>选择“invoke ant”—>点击“Advanced…”—>在“Build File”编辑项中填入build.xml的路径

(3)构建后操作(Post-build Action)

I点击“Add post-build action”—>选择插件“Publish HTML reports”—>在HTML directory to archive中填写html报告保存的路径—>修改Index page(s)中的index.html为*.html(要不在执行后找不到index.html生成报告会报错)

(如:D:\apache-jmeter-3.0\demo\report\html)

点击“Add post-build action”—>选择插件“Publish Performance test result report”—>在Source data files (autodetects format)中填写jtl报告保存的路径

(如:D:\apache-jmeter-3.0\demo\report\*.jtl)

(4)配置完成,点击“Apply”并“Save”

4、构建脚本

5、运行后会生成对应的报告

标签:jmeter,接口,ant,html,测试,apache,jenkins,Jmeter
来源: https://www.cnblogs.com/ynog/p/14098847.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有