如何用JMeter做接口测试

Posted 软件测试培训

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用JMeter做接口测试相关的知识,希望对你有一定的参考价值。

顾翔老师作品《软件测试技术实战 设计、工具及管理》

http://detail.youzan.com/show/goods?alias=3erp1xpd7hmoh&from=wsc&kdtfrom=wsc&sf=wx_sm

店铺二维码:

啄木鸟软件测试培训网:www.3testing.com

本文来自:火龙果软件工程


编辑推荐:

本文来自于csdn, 本文介绍JMeter如何做web service测试,一般来说web服务,一般指的是HTTP请求相关的内容。

这里就介绍一下如何利用JMeter做基于HTTP的web接口测试。接口也叫API(Application Programming Interface),很多我们使用的各种APP,上面的内容显示大部分都调用后台web服务器的接口,有些是网站的接口,有些是solr的接口。

什么是接口?

我们这里举例一个生活中场景来帮助你理解接口。加入你去餐馆点餐,看了菜单,告诉服务员,你要一个宫爆鸡丁,过一会,服务员就端上宫爆鸡丁给你就餐。这个场景,有三个对象,你、服务员,宫爆鸡丁,具体关系是,你点了宫爆鸡丁,服务员拿着你点的菜,告诉后厨去做这个菜,一段时间,后厨做好了,服务员给你端上宫爆鸡丁这个菜。再精简一点就是,你告诉服务员,你要宫爆鸡丁,服务员一会就给你上宫爆鸡丁。服务员在这个过程,就是一个接口的作用,你发送了一个点菜的请求,服务员给你上宫爆鸡丁就是一个请求的响应。

这样的事情,在软件中就这样叫法:你点菜是向服务员发送了一个请求,具体的菜名就是传入的参数;服务员给你上菜,就表示已经对你的请求做了响应,响应的内容是,宫爆鸡丁。再举例一个实际应用,我们手机桌面一般有一个天气预报,你设置了地区,就给你显示这个地区的天气预报。这个过程的大致原理是,手机厂商或者天气预报这个软件,在一些能提供天气服务的机构,申请了或者干脆花了钱,软件里面调了人家商业结构的提供的天气的API。具体天气的数据都来自这些提供天气服务的商业机构。今天我们就来测试一个关于天气的接口。

接口测试,大致流程是: 拿到一个接口文档,分析好请求方式是什么,主要有POST和GET方法,请求URL是什么,请求需要传入几个参数,参数的值是多少,检查请求响应的代码是什么,响应的内容有没有接口文档里描述的返回参数。接口测试可以手工做,也可以自动化做,自动化做的难点就是如何去对响应列表进行断言。

天气接口服务准备工作

为了写这篇文章,花了很多时间,在网上找免费的天气API,基本上找到了国内的新浪天气和国外的一个网站。国外的网站,我没有找到北京这个地区的代码,所以通过API获取不到北京的天气信息,这里就不讲国外的。

1. 打开新浪天气网站

2. 在试试输入框搜北京,点击搜索按钮,记住当前URL

需要记住的是city=%B1%B1%BE%A9

其实这个看起来像乱码的字段就是北京的转义显示的一种形式,URI协议的知识,知道就可以。上海就变成和上面类似的乱码字段,但是肯定不同。

http://php.weather.sina.com.cn/xml.php? city=%B1%B1%BE%A9&password=DJOYnieT8234jlsK&day=0


解释拆分(对照JMeter http 请求界面):

domain: php.weather.sina.com.cn

path: /xml.php


参数一共有三个,分别是城市,密码和天,密码是固定不变的,day=0代表当天,day=1代表明天,以此类推:

参数1: key:city            value:%B1%B1%BE%A9

参数2: key:password      value:DJOYnieT8234jlsK

参数3: kye:day              value:0


了解了这些之后,我们来看看如何用JMeter来实现这个北京天气查询的接口测试。

1)打开JMeter UI界面

2)新建一个Thread Group

3)新建一个Sampler,选择HTTP Request

4)新建一个Lisenter,选择View Result Tree

5 ) HTTP Request界面设置如下图

如何用JMeter做接口测试

6) 点击运行测试

7) 查看结果

-点击View Results Tree,查看结果,发现乱码

如何用JMeter做接口测试

-把text改成document,再次看看

如何用JMeter做接口测试

你还可以去Sampler result这个tab里面查看响应状态码是不是200

好了,如何用JMeter做接口测试就介绍到这里。


顾翔凡言:

如果你学了,你就会发现疑问越来越多,要学的新东西有很多;反之,如果你不学,你就会发现疑问越来越少,甚至没有要学的新东西。




以上是关于如何用JMeter做接口测试的主要内容,如果未能解决你的问题,请参考以下文章

如何用JMeter做接口测试

如何用jmeter测试关联接口

如何用Jmeter做接口自动化测试?跟着操作一次就明白了

如何用Postman做接口测试

jmeter数据驱动做接口测试

如何用postman做接口测试