jmeter+ant+jenkins 接口自动化---实现方案的介绍

前言:接口自动化实现方式很多,例如:postman,python+request,java+TestNG,公司自己自研的平台,等等。我介绍的是 使用jmeter工具做接口自动化。

优点:上手简单;jmeter有丰富的插件,直接下载使用;编写接口用例方便,好维护,执行等也方便快捷。
缺点:半自动化,因为利用工具和插件,太框架化不灵活,可制定性不高。例如:接口测试报告内容个性化,自己想要某些数据展示基本难以实现(会代码的大神另算)。

个人主观:非常适合只做接口自动化,且项目不庞大(模块不繁杂,第三方对接不多),重要是用例case方便编写,方便维护。我个人是比较喜欢这个方案。

本文重点介绍实现的方式,需要提前具备jmeter接口自动化的基本使用技能,本文不多赘述。

..................................................................................................................................................


一、相关工具安装

1.jmeter安装

第一步:首先从jmeter的官网下载jmeter。
下载地址:
jmeter: http://jmeter.apache.org/download_jmeter.cgi
JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,

百度网盘:
jdk链接:https://pan.baidu.com/s/1BUB_WmNCchMjrTBRcWGVgw  提取码:a7c0
jmeter: 链接:https://pan.baidu.com/s/17GxsQeVxMFmG0JRTBCl3Eg  提取码:axyj

第二步:安装JDK(这个是必须得先装)
将下载好的JDK解压缩进行安装,若无安装目录要求,可全默认设置。无需做任何修改,均直接点下一步即可。

第三步:安装完成后配置JDK的环境变量
位置:计算机→属性→高级系统设置→高级→环境变量
1、系统变量→新建JAVA_HOME变量,变量值填写jdk的安装目录(本人是 C:\Program Files\Java\jdk1.8.0_92),如下图

2、系统变量→寻找 Path 变量→编辑,在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; ,如果原来Path的变量值末尾有没有;号,先输入;号再输入上面的代码,如下图

3、系统变量→新建 CLASSPATH 变量;变量值填写  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点),如下图

4、检验是否配置成功 运行cmd 输入 java -version ,如果出现如下结果,则说明JDk环境变量配置成功

第四步:安装jmeter
1、将下载好的jmeter进行解压缩
2、解压缩完成后进入JMETER目录,点击下面的批处理文件(设置里打开扩展名就能看见了),就可以了。

之后就会打开jmeter,如下图:

JMeter运行方式:
进入bin目录运行jmeter.bat启动jmeter(方式1)

双击jar包运行(方式2)

注意:如果启动不了看下面(一般是能启动的)

网上查询的时候说在安装jmeter后需要设置环境变量,其实这里不用设置也是可以的,但是在这里也进行一下环境变量配置的说明;

1、加入系统变量JMETER_HOME,如下图:

2、系统变量CLASSPATH中加入下边的内容:%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar

3、确定完成。


2.ant安装:

1、解压apache-ant-1.9.9-bin.zip到E:\Program Files\apachejmeter31目录下;

2、配置Ant环境变量

■ 1)系统变量→新建【ANT_HOME】变量

变量值中输入:【E:\Program Files\apachejmeter31\apache-ant-1.9.9】,点击确定即可。

■ 2)系统变量→寻找Path变量→编辑

在变量值最后输入【%ANT_HOME%\bin】

■ 3)检查是否配置成功,运行cmd输入 【ant -version】,如果成功,显示版本号


二、使用ant生成测试报告

本地调试使用Ant构建运行Jmeter,并且生成【jtl】、【Html】报告

也可以自己创建文件夹如图:

1、首先我们默认Jmeter脚本已经录制,或者编写好了,并测试通过,存在(登录.jmx)脚本

2、将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本

3、jmeter默认保存的是.csv格式的文件,所以我们先要设置一下jmeter安装目录下 .../bin/jmeter.properties文件内容,去掉注释#,并修改csv为xml,保存jmeter.save.saveservice.output_format=xml

4、想要在测试报告结果能展示更多的结果,修改jmeter安装目录下 .../bin/jmeter.properties文件内容,【标红的内容】去掉注释#,并修改为true,保存(如果是百度网盘下载的是改好的)

jmeter.save.saveservice.assertion_results_failure_message=true
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.response_data.on_error=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS

5、主要逻辑思路:运行E:\tmp\ResultReport\jmx下面的.jmx脚本,生成.jtl文件放入E:\tmp\ResultReport\jtl文件中,ant在将相应的文件转换为对应的html文件放入E:\tmp\ResultReport\html中 (build.xml文件放在E:\tmp目录下,方便查找和定位)

6. build.xml文件修改

ant是一个项目管理工具类似maven,执行通过build.xml文件的内容参数执行

所以要设置这几项(可以在上网详细学习):可以用notepade++编辑。

PS:win+R打开cmd,切换到E:\tmp目录下,输入 ant 查看运行结果(进入和同build.xml文件夹同级),若构建失败,请分析cmd打印的日志消息,定位问题;
或进入到E:\tmp目录下,按住键盘Shift键,鼠标右击选择“在此处打开命令窗口”,输入 ant 命令
最终结果生成,打开html文件(默认样式表):

(这个模板不漂亮,可以重新选择模板。)

做到这一步基本上成功了。本地可以写,并且可以调试执行。


三、定时执行并发送邮件

因为写完的接口自动化不可能每次自己手动执行,所以需要工具定时触发去执行。
使用最常用的工具Jenkins。

1.安装:
百度网盘:链接:https://pan.baidu.com/s/1p8MS_Ep5s15OqAX2fr2WIg  提取码:ig3x
下载下来,一直下一步:

2、根据页面路径输入密码

3、显示实例离线,修改文件(如果不安装插件,这一步可以忽略)
D:/jendins/hudson,model.UpdateCenter.xml    将https修改为http

将https改为http

4、重新访问jenkins

5、输入密码,点击继续

6、选择“安装推荐的插件”

推荐安装支持svn和git


7、插件结束后,要求创建管理员用户

8、实例配置,默认


9、安装结束

10、安装完毕

安装完毕之后,安装常用的插件,网上可以搜搜。

11.创建一个任务(可以先网上搜索

学习Jenkins使用教程)

如果没有 Invoke Ant 就是没有插件,网上搜下下载安装。

12.执行


13.设置定时任务

然后在设置定时任务,比较简单,网上搜索下设置应用就可以,完成!


四、总结

接口自动化在回归测试里面必不可少。
jmeter+ant+jenkins 本人认为是一个效率最高的实现方案,比起其他用语言写的接口自动化在编写,执行实现,维护,效率很高。
本文写的非常简单,目的是展示一种接口自动化的实现方案。
如果想去做,多多网上查,重点学习下怎么在jmeter里写接口自动化的脚本(http请求,正则提取,断言,等等)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355