Jmeter的接口测试简介
一、安装Jmeter
Jmeter官方首页:http://jmeter.apache.org/
关于Jmeter可以做什么,官方上也有非常详细的介绍。另外它的文档也写很详细。如果想学习Jmeter,那么它的文档将会是最好的教材。
我相信你可以在官网上找到下载地址并把它下载下来。
Jmeter由Java语言开发,最新的Jmeter3.0版本的运行需要有Java 7 或之后版本的环境。我同样相信你能搞定Java环境。
接下来,将下载的apache-jmeter-3.0.zip解压,进入解压目录.../apache-jmeter-3.0/bin 。双击ApacheJMeter.jar启动:
二、添加HTTP接口测试
我们的所以工具都会在Jmeter工具中完成,接来就按照一般步骤来创建一个HTTP接口测试。
如上图,右键点击“测试计划”-->“添加”-->“Threads(Users)”-->“线程组”。
如上图,设置线程组,线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。
线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
准备时长: 设置的虚拟用户数全部启动的时长。如果线程数为20 ,准备时长为10(秒) ,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。
循环次数:每个线程发送请求的个数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。
因为这里要做接口测试,所以各个参数为均1。
如上图,右键点击“线程组”-->“添加”-->“Sampler”-->“HTTP请求”。
名称:本属性用于标识一个取样器,建议使用一个有意义的名称。
注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。
端口号:目标服务器的端口号,默认值为80 。
协议:向目标服务器发送HTTP请求时的协议,可以是HTTP或者是HTTPS ,默认值为http 。
方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
Content encoding :内容的编码方式,默认值为iso8859
路径:目标URL路径(不包括服务器地址和端口)
自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。
Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。
Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。
同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。
如上图,右键点击“线程组”-->“添加”-->“监听器”-->“察看结果树”。
三、添加新的POST请求
POST请求的添加方式与前面GET请求一样。不过POST请求需要设置参数。
服务器名称或IP: 127.0.0.1
端口号:8000
方法:POST
路径:/polls/question_vote/
同请求一起发送参数:
点击“添加”按钮,添加POST请求的参数。
名称: |
值 |
qid |
1 |
cid |
1 |
执行测试:
选择菜单栏“运行”-->“清除”,或者点击工具栏清除按钮。然后重新执行启动测试。并查看结果树。
四、添加断言
对于自动化测试来说,断言必须要有的,如果没有断言我们只能人眼对比对接口返回的数据,有了断言功能,就会简化这个过程。Jmeter提供了丰富的断言方法来帮助我们完成这个工作。
如上图,右键点击HTTP请求“添加”-->“断言”-->“响应断言”。
要测试的响应字段:响应文本、Document(text)、URL样本、响应信息、Response Headers、Lgnore Staus等选项。虽然接口返回的是Json格式的数据,但对于Jmeter来说返回数据为文本,所以,这里可以勾选“响应文本”
模式匹配规则:包括、匹配、Equals、Substring。这里只需要验证返回数据中是否包含主要的关键字,所以,这里勾选“包括”。
要测试的模式:其实就是断言的数据。点击“添加”按钮,输入要断言的数据。
运行测试:
再次清除测试数据,点击启动测试,查看结果树,如下图。
=====================
接口测试就是这么简单!
Jmeter的接口测试简介的更多相关文章
- jmeter做接口测试
jmeter做接口测试有两种方式: 1. 2.
- Jmeter用于接口测试中【接口耦合关联的实现】
Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请求的结果值,应用于后一个接口呢,拿一个登录的例子来说明如何获取. 1.打开jmeter, 使用的3.3的版本 ...
- Jmeter用于接口测试中,关联如何实现
Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请求的结果值,应用于后一个接口呢,拿一个登录的例子来说明如何获取. 1.打开jmeter, 使用的3.3的版本 ...
- 怎样用JMeter做接口测试?
本文介绍JMeter如何做web service测试,一般来说web服务,一般指的是HTTP请求相关的内容.这里就介绍一下如何利用JMeter做基于HTTP的web接口测试.接口也叫API(Appli ...
- 2、大型项目的接口自动化实践记录--接口测试简介及RequestsLibrary关键字简介
1.接口测试简介 1)先简单介绍下接口测试,那么什么是接口测试呢? 百科的回答:接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点. 看起来有 ...
- 使用jmeter进行接口测试
目录 jmeter介绍 jmeter安装 修改UTF-8 jmeter主要测试组件 jmeter元件作用域与执行顺序 使用Jmeter进行接口测试 jmeter介绍 JMeter是Apache基金会J ...
- 如何用Jmeter做接口测试
Jmeter介绍&测试准备: Jmeter介绍:Jmeter是软件行业里面比较常用的接口.性能测试工具,下面介绍下如何用Jmeter做接口测试以及如何用它连接MySQL数据库. 前期准备:测试 ...
- 使用jmeter做接口测试----柠檬不萌!
一.乱码解决方案 1.jmeter查看结果树乱码 (1)在jmeter的bin目录下找到jmeter.properties这个文件,添加上 sampleresult.default.encoding= ...
- 使用Jmeter做接口测试(学生信息的6个接口)
使用Jmeter做接口测试,案例中涉及到接口有:获取学生信息.登录.添加学生信息.学生金币充值.获取所有学生信息.文件上传. 一.获取学生信息(get请求) 服务器名称或IP:输入被请求服务器的名称或 ...
随机推荐
- 语法:c++对关于空指针0/NULL/nullptr三者的演变
来源: https://blog.csdn.net/u010558281/article/details/77793644 字面意义上的解释: 0:整型常量 NULL:预处理符号 nullptr:空指 ...
- python3.5无法安装pip,报错ImportError: cannot import name 'HTTPSHandler'
本人系统为:centos6 解决方法: 1 安装openssl yum install openssl 2 安装openssl-devel yum install openssl-devel 3 ...
- navicat链接mysql
navicat链接mysql
- day10 浅谈面向对象编程
面向对象编程:第一步找名词,名词是问题域中的. 第二步概括名词设计成类.某些名词可以浓缩包含到其它名词中,成为其属性. 第三步找动词,动词也是问题域中的. 第四步概括动词设计成方法.动作的产生往往 ...
- 无法将网络更改为桥接状态 没有VMent0
本文主要分享 VMware 10.0.2 报错信息:无法将网络更改为桥接状态的解决经验 工具/原料 VMware 10.0.2 方法/步骤 1 故障现象,导致虚拟机无法正常上网 设备管理器 ...
- JavaScript语法对{}的奇葩处理
JavaScript的语法有多坑,算是众人皆知了. 今天看到vczh的这条微博:http://weibo.com/1916825084/B7qUFpOKb , 代码如下: {} + []; [] + ...
- PIE的使用
实际上是指的是一个名为pie的htc文件,即pie.htc,使用CSS的behavior行为,可以调用此文件,然后让IE也能实现一些常见的 CSS3效果,如圆角(border-radius),盒阴影( ...
- # 20155209 2016-2017-2 《Java程序设计》第六周学习总结
20155209 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基 ...
- DNS域传送漏洞
nslookup -type=ptr 8.8.8.8 #查询一个IP地址对应的域名 nslookup -type=ns baidu.com #查询baidu.c ...
- python 进程 线程 协程
并发与并行:并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔内发生.在单核CPU下的多线程其实都只是并发,不是并行. 进程是系统资源分配的最小单位,进程的出现是为了更好的 ...