JMeter Webservice API测试计划
Web Services
Web服务被定义为旨在通过网络支持两台机器之间交互的软件系统。它被设计为具有以通常在Web服务描述语言(WSDL)中指定的机器可处理格式描述的接口。 通常,“HTTP”是最常用的通信协议。 Web服务还使用SOAP,REST和XML-RPC作为通信手段。
Web服务可能不包含完整的规范集,有时可能无法执行完整API可能执行的所有任务。
API(应用程序编程接口)
API充当两个不同应用程序之间的接口,以便它们可以相互通信。 这是第三方供应商可以编写与其他程序轻松连接的程序的方法。API可以使用任何通信方式来启动应用程序之间的交互。 例如,Linux内核API使用中断调用系统调用。
API包含一套完整的规则和规范,供软件程序遵循以便于交互。
Web API
Web API可以被视为Web服务中的一种开发,其中重点已经转移到更简单的基于表示状态转移(REST)的通信。 Restful API不需要基于XML的Web服务协议(SOAP和WSDL)来支持其接口。
Web服务大致分为两类:
- 简单对象访问协议(SOAP)
- 代示状态转移(REST)
为了测试目的,我们将使用一些公开可用的REST API来测试JMeter。
可以在Internet上搜索各种可公开使用的REST API。并获取API密钥以在JMeter中设置测试。 您还可以使用任何开发环境构建整个Web服务项目,并将其部署在JMeter上以运行测试计划。
对于此测试,我们使用的是开放天气地图网站在URL下提供的API:
https://openweathermap.org/api
下图显示了Open Weather Map网站提供的API部分。
可以在此网站上注册以访问您的API密钥,该密钥随后用于获取正确的天气报告。
在我们的例子中,生成的API密钥:3f25ec8eed9e1951e21407a34312c2c8
下图显示了成功登录后生成的API密钥。
现在,我们将使用此API密钥以及调用API的方法来获得所需的结果。调用API的方法包括服务器名称,后跟城市代码/城市名称和API密钥。
下图显示了OpenWeatherMap网站提供的API调用示例。

现在,我们将创建一个测试计划来测试OpenWeatherMap网站提供的REST API。
创建JMeter测试计划
- 进入到
JMeter/bin文件夹,双击jmeter.bat文件以启动JMeter界面。 - 单击“Test Plan”节点。
- 将此测试计划节点重命名为: WebServiceTest 。
- 选择 WebServiceTest 节点,然后右键单击所选项。
- 鼠标悬停在“Add” 选项上,然后将显示元素列表。
- 选择“线程(用户)”>“线程组”。
修改线程组的以下属性:
- 名称 - Webservice user
- 线程数(用户) - 2
- 加速期 - 保留默认值(1)。
- 循环计数-1

添加采样器
- 选择Webservice user 元素(线程组),然后右键单击所选项。
- 鼠标悬停在“Add”选项上,然后将显示元素列表。
- 选择Sampler> HTTP Request。

在HTTP Request控制面板中设置以下字段:
- 名称 - HTTP请求
- 服务器名称或IP - api.openweathermap.org
- 路径 - data/2.5/weather
- 参数 - q = London
- appid = 3f25ec8eed9e1951e21407a34312c2c8

添加监听器
Listener元素将负责将HTTP请求的所有结果存储在文件中,并呈现数据的可视化模型。
- 选择Webservice user元素。
- 鼠标悬停在“Add”选项上,然后将显示元素列表。
- 选择Listener> View Results Tree选项。

保存并执行测试计划
- 单击 File > Save Test Plan as 。
- 将整个测试计划保存为HTTP_test.jmx。

- 单击Run > Start以执行测试计划。
验证输出
可以在侦听器中看到以下输出。


在响应数据选项卡中,可以看到OpenWeatherMap网站提供的实际天气报告。
JMeter Webservice API测试计划的更多相关文章
- 使用JMeter进行API功能测试
使用JMeter进行API功能测试 Apache JMeter是一种流行的开源软件,用于性能测试. 在本博客中,我们将阐明如何使用JMeter for REST API自动化进行功能测试. 我们使用了 ...
- JMeter - REST API测试 - 完整的数据驱动方法(翻译)
https://github.com/vinsguru/jmeter-rest-data-drivern/tree/master 在本文中,我想向您展示一种用于REST API测试的数据驱动方法.如果 ...
- 性能测试分享:Jmeter的api监控工具解决方案
性能测试分享:Jmeter的api监控工具解决方案 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询q ...
- Jmeter 建立数据库测试计划
建立数据库测试计划(Building a Database Test Plan) 在本节中,将学习如何创建测试数据库服务器一个简单的测试计划.您将创建五十个用户向数据库服务器发送2个SQL请求.并且, ...
- 六、Jmeter测试元件-测试计划
启动Jmeter时,会默认建好一个测试计划,启动一个Jmeter只有个测试计划 测试用到的源码下载地址 https://www.cnblogs.com/fanfancs/p/13557062.html ...
- JMeter Webservice测试计划
一.新建测试计划:HelloWorld测试计划 二.添加线程组 编辑线程组属性: 三.添加 SOAP/ XML-RPC 请求元素 四.填入url地址及请求报文 此处的请求报文,是用soapUI生成的, ...
- 使用Jmeter对API进行性能测试
先补充刚才测试的部分截图余下,后续详细补充内容. API Test.jmx 如下: <?xml version="1.0" encoding="UTF-8" ...
- 使用JMeter创建FTP测试计划
FTP服务主要提供上传和下载功能.有时间需要我们测试服务器上传和下载的性能.在这里我通过JMeter做一个FTP测试计划的例子. 当然,JMeter官方网站的用户手册也有例子,但由于版本较早,我也算是 ...
- JMeter学习FTP测试计划(转)
FTP服务主要提供上传和下载功能.有时间需要我们测试服务器上传和下载的性能.在这里我通过JMeter做一个FTP测试计划的例子. 1.创建一个线程组 2.线程组--->添加--->配置元件 ...
随机推荐
- Go语言开发教程
Go语言简述 兴起:2009年Gogle发布的第二款开源编程语言 特征: 语法简单:语法标准比较严格,适合开发人员短时间高效的服务端开发. 并发模型:Goroutine是Go最显著的特征,使用类协程的 ...
- phpcms分类信息地区识别跳转
<script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"></scri ...
- ES6对象的super关键字
super是es6新出的关键字,它既可以当作函数使用,也可以当作对象使用,两种使用方法不尽相同 1.super用作函数使用的时候,代表父类的构造函数,es6规定在子类中使用this之前必须先执行一次s ...
- github怎样改动源代码并进行提交方法小结
/********************************************************************* * Author : Samson * Date ...
- Android的headerView和emptyView共存问题
今天做项目的时候,准备优化下ListView相关的东西,于是乎,需要做一个当列表无数据时,空的提醒页面.这个自然想到的是ListView的setEmptyView()方法,于是顺手就写了,可是,当我为 ...
- 生成所有2^n个长度为n的比特串
#include<stdio.h> void BitstringsRec(int n); int A[1000]; int G_N; int main(void) { while(1) { ...
- 容器服务kubernetes federation v2实践五:多集群流量调度
概述 在federation v2多集群环境中,通过前面几篇文章的介绍,我们可以很容易的进行服务多集群部署,考虑到业务部署和容灾需要,我们通常需要调整服务在各个集群的流量分布.本文下面简单介绍如何在阿 ...
- Laravel5.5 支付宝手机网站支付的教程
https://segmentfault.com/a/1190000015559571 这篇文章主要介绍了Laravel5.5 支付宝手机网站支付的教程,小编觉得挺不错的,现在分享给大家,也给大家做个 ...
- poj 2451 Uyuw's Concert (半平面交)
2451 -- Uyuw's Concert 继续半平面交,这还是简单的半平面交求面积,不过输入用cin超时了一次. 代码如下: #include <cstdio> #include &l ...
- 【CSS3动画】下拉菜单模拟
下拉菜单模拟效果图: CSS3: <style> #box{width:200px; height:50px; overflow:hidden; cursor: pointer; tran ...