20160823

背景

最近在看Jmeter和接口测试,发现了几个问题,基于HTTP协议的接口测试实施起来很简单,但是怎么实施接口测试就是一个难点,而且接口测试如果不做成自动化,就纯粹靠手工执行,那么意义其实并不大。所以稍微看了一下Ant+Jmeter的组合,来实现自动化。

Ant驱动Jmeter

单独使用Jmeter来执行接口测试是非常简单的了,使用Ant来驱动Jmeter就需要些一个构建文件build.xml

只要Ant配置好,直接运行Ant就行了。结果如下:

SvenWeng@wengyanbin:~/Desktop|⇒ ant

Buildfile: /Users/SvenWeng/Desktop/build.xml

all:

test:

[jmeter] Executing test plan: /Users/SvenWeng/Desktop/获取用户ID.jmx ==> /Users/SvenWeng/Desktop/TestReport201608220301.jtl

[jmeter] Writing log file to: /Users/SvenWeng/apache-jmeter-3.0/bin/jmeter.log

[jmeter] Creating summariser

[jmeter] Created the tree successfully using /Users/SvenWeng/Desktop/获取用户ID.jmx

[jmeter] Starting the test @ Mon Aug 22 15:01:29 CST 2016 (1471849289646)

[jmeter] Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445

[jmeter] summary + 1 in 00:00:01 = 2.0/s Avg: 267 Min: 267 Max: 267 Err: 0 (0.00%) Active: 37 Started: 38 Finished: 1

[jmeter] summary + 3451 in 00:00:30 = 115.9/s Avg: 841 Min: 130 Max: 3745 Err: 0 (0.00%) Active: 100 Started: 101 Finished: 1

[jmeter] summary = 3452 in 00:00:30 = 114.0/s Avg: 841 Min: 130 Max: 3745 Err: 0 (0.00%)

[jmeter] summary + 1548 in 00:00:14 = 107.7/s Avg: 792 Min: 32 Max: 5003 Err: 0 (0.00%) Active: 0 Started: 101 Finished: 101

[jmeter] summary = 5000 in 00:00:45 = 111.9/s Avg: 826 Min: 32 Max: 5003 Err: 0 (0.00%)

[jmeter] Tidying up ... @ Mon Aug 22 15:02:14 CST 2016 (1471849334383)

[jmeter] ... end of run

report:

[xslt] Processing /Users/SvenWeng/Desktop/TestReport201608220301.jtl to /Users/SvenWeng/Desktop/TestReport201608220301.html

[xslt] Loading stylesheet /Users/SvenWeng/apache-jmeter-3.0/extras/jmeter-results-detail-report_21.xsl

[copy] Copying 2 files to /Users/SvenWeng/Desktop

BUILD SUCCESSFUL

Total time: 47 seconds

几个大坑

taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found

using the classloader AntClassLoader[]

这个报错非常坑爹,是由于Ant有一个ant-jmeter-1.1.1.jar这个文件缺失了,所以一直会报这个错。

stylesheet /Users/SvenWeng/apache-jmeter-3.0/extras/jmeter-results-detail-report_21.xsl doesn't exist.

这个报错是由于我使用的是Jmeter3.0。而3.0文件下面的对应文件是jmeter-results-detail-report.xsl 所以报了这个错,但是这个文件是有问题的,这个问题下面再说。

测试报告中没有数据

这个问题就是由于上面文件的不正确导致的。两个文件的不同点如下:

自己把这块改了,或者直接使用Jmeter2.*的文件也行。

测试报告中三个指标为NaN

这个问题也是一个坑,我找了好久才找到原因。

需要从Jmeter的lib包里把xalan-2.7.2.jar和serializer-2.7.2.jar copy到Ant的lib包里。

下一步

下一步当然是扔到jenkins里面啦,监控代码变动,然后自动执行接口测试。当然,也可以写一个Python的脚本定时执行或监控代码库执行都可以。

ant jmeter 原理_Ant+Jmeter自动化接口测试相关推荐

  1. Windows下搭建ant+jenkins+jmeter自动化接口测试框架

    Windows下搭建ant+jenkins+jmeter自动化接口测试框架 引言 为什么要持续集成? 1.减少风险 2.减少假定 3.减少重复过程 4.增强项目的可见性 5.持续集成可以带来两点积极效 ...

  2. Windows下搭建ant+jenkins+jmeter自动化接口测试框架(详细篇)

    引言 为什么要持续集成? 1.减少风险 2.减少假定 3.减少重复过程 4.增强项目的可见性 5.持续集成可以带来两点积极效果: (1)有效决策:持续集成系统为项目构建状态和品质指标提供了及时的信息, ...

  3. Jmeter+Ant+Jenkins自动化接口测试框架

    1.安装JDK 1.1    下载安装包 我下载的是最新版jdk 1.8.0_152,官网下载地址是: http://www.oracle.com/technetwork/java/javase/do ...

  4. jmeter+ant+jenkins的自动化接口测试

    一.Jenkins安装配置 1.安装配置JDK1.7+环境变量: 2.下载jenkins.war,放入D:\jenkins目录下,目录位置随意: Jenkins启动方法: cmd进入Jenkins目录 ...

  5. 【Jmeter篇】jmeter+Ant+Jenkins实现自动化测试集成(一)

    一.简介 1.什么是ant? ant是构建工具,把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作 JMeter+Ant是比较常见的自动化测试框架,因为JMeter.Ant都是由java开发的,所 ...

  6. jemeter python接口自动化测试平台_ant+jmeter+Jenkins接口自动化测试实战(1)

    项目中需要做接口自动化测试,于是就去做实验,做实验要从搭建测试环境开始.在学习的过程中肯定会遇到不同的问题,于是就用了两天的时间做了一个简单的接口自动化环境,中间也遇到一些问题,现在把路上踩到的坑记录 ...

  7. JMeter如何和Charles进行接口测试

    什么是接口测试,接口测试到底如何开展,我相信任何一个软件测试人员都会有这样的疑问, 这里我以接口测试自动化平台的登录接口进行讲解. 一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测 ...

  8. 【Jmeter篇】jmeter+Ant+Jenkins接口自动化测试集成之报告优化(三)

    增加更加详细测试报告及优化jenkins测试报告样式显示 1.下载优化模板 jmeter-results-shanhe-me.xsl,拷贝到jmeter的C:\jmeter\apache-jmeter ...

  9. 【Jmeter篇】jmeter Ant Jenkins接口自动化测试集成之半路逆转(二)

    一.更改方案 由于上一篇文章[Jmeter篇]jmeter+Ant+Jenkins实现自动化测试集成(一)https://blog.csdn.net/qq_36502272/article/detai ...

最新文章

  1. 服务器如何向c winform推送信息,C局域网聊天工具消息推送实现思路与源码.doc
  2. 极路由+NETGEAR 传输无线网络
  3. 怎样写出健壮的CLI程序
  4. 监听输入 vue_深度对比vue与react创建APP的差别,值得收藏
  5. Zookeeper系列(一)
  6. 三大公有云托管 Kubernetes 服务 (EKS、GKE、AKS) 评估
  7. java安装_如何在 Mac 上安装 Java | Linux 中国
  8. VC++/MFC学习笔记(二)
  9. rgba颜色和16进制颜色互相转换
  10. rman异机恢复 Linux _RAC至Win_Single Instance note
  11. 搭建公众号微商城+小程序微商城 企业商城系统一条龙 拖拽可视化装修模板
  12. uos 序列号_体验一把国产统一操作系统——UOS
  13. matlab 判断大小写,匹配正则表达式(区分大小写)
  14. Python实现桌面壁纸设置
  15. 《Adobe Illustrator CS5中文版经典教程》—第1课1.8节练 习
  16. 网速dns怎么调快_手机dns怎么设置网速快
  17. 数论学习四之——威尔逊定理
  18. 深入探索 Android 网络优化(一、网络筑基篇,为什么Flutter能最好地改变移动开发
  19. FishC笔记—19 讲 函数:我的地盘听我的
  20. python依赖包turbojpeg(PyTurboJPEG)安装

热门文章

  1. Linux 知:文件系统
  2. LED背光源商家需满足的基本条件
  3. Springboot 集成邮件服务 QQ企业邮箱
  4. 阿里巴巴Java开发手册摘要(一)
  5. Hive元数据库中各个表的含义(十)
  6. 鼠标事件比较与鼠标位置
  7. canvas动画:自由落体运动
  8. windows10禁止自动更新
  9. js二分法的简单计算
  10. springCloud Alibaba seata 分布式事务