前提条件

测试的URL:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx

测试接口:getSupportCityString

获取城市的编码:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionDataset

(该页面下显示的是所有城市的编码信息)如下图:

使用北京的编码信息:311101

输入参数:theRegionCode = 省市、国家ID或名称,返回数据:一维字符串数组

一、      Jmeter发送SOAP请求对WebService接口测试

前提:以下是 SOAP 1.2 请求和响应示例。所显示的占位符需替换为实际值

POST /WebServices/WeatherWS.asmx HTTP/1.1
Host: ws.webxml.com.cn
Content-Type: application/soap+xml; charset=utf-
Content-Length: length <?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<getSupportCityString xmlns="http://WebXml.com.cn/">
<theRegionCode>string</theRegionCode>
</getSupportCityString>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1  OK
Content-Type: application/soap+xml; charset=utf-
Content-Length: length <?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<getSupportCityStringResponse xmlns="http://WebXml.com.cn/">
<getSupportCityStringResult>
<string>string</string>
<string>string</string>
</getSupportCityStringResult>
</getSupportCityStringResponse>
</soap12:Body>
</soap12:Envelope>

步骤一: 添加线程组,如下图:

添加完成后设置名称为soap

步骤二、添加SOAP/XML-RPC Request Sampler,如下图:

步骤三、配置soap

在URL中填写测试地址:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx

在Soap/XML-RPC Data中输入:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<getSupportCityString xmlns="http://WebXml.com.cn/">
<theRegionCode>string</theRegionCode>
</getSupportCityString>
</soap12:Body>
</soap12:Envelope>

注意:在发送的信息中,要填写真正的参数替换占位符,string的值需要替换成需要的值

<theRegionCode>string</theRegionCode>

步骤四、在测试计划中添加用户定义的变量

点击测试计划>添加,如下图:

最终步骤3发送的数据为:<theRegionCode>${test}</theRegionCode>,如下图:

步骤五、插入查看结果树,如下图:

点击运行,发送请求后会发现响应数据错误,提示“服务器未能识别 HTTP 头 SOAPAction 的值: ”,如下图:

这是因为服务器不知道以何种类型来解析请求数据,才导致没有正确的数据返回。

所以在发送请求之前,还有一个重要的步骤,就是添加HTTP信息头管理器

步骤六、添加HTTP信息头管理器

添加完成后需要手动拖动到改线程组的最上方,配置如下:

步骤七、验证

一、      Jmeter发送post请求对Webservice接口测试

前提:以下是 HTTP POST 请求和响应示例。所显示的占位符需替换为实际值

POST /WebServices/WeatherWS.asmx/getSupportCityString HTTP/1.1
Host: ws.webxml.com.cn
Content-Type: application/x-www-form-urlencoded
Content-Length: length theRegionCode=string
HTTP/1.1  OK
Content-Type: text/xml; charset=utf-
Content-Length: length <?xml version="1.0" encoding="utf-8"?>
<ArrayOfString xmlns="http://WebXml.com.cn/">
<string>string</string>
<string>string</string>
</ArrayOfString>

步骤一:添加线程组,并改名为post,如下图:

步骤二、添加HTTP请求并进行配置,如下图:

配置如下:

在请求响应中都有,直接去找就行

Implementation:java

协议:http

方法:post

Content encoding:utf8

步骤三、查看结果树并运行查看结果,如下图:

一、      Jmeter发送get请求对webservice接口测试

前提:以下是 HTTP GET 请求和响应示例。所显示的占位符需替换为实际值。

GET /WebServices/WeatherWS.asmx/getSupportCityString?theRegionCode=string HTTP/1.1
Host: ws.webxml.com.cn
HTTP/1.1  OK
Content-Type: text/xml; charset=utf-
Content-Length: length <?xml version="1.0" encoding="utf-8"?>
<ArrayOfString xmlns="http://WebXml.com.cn/">
<string>string</string>
<string>string</string>
</ArrayOfString>

步骤1:添加线程组,并改名为get,如下图:

步骤二、添加HTTP请求并进行配置,如下图:

步骤三、查看结果树并运行查看结果,如下图:

*************************************************************************************************

参考文档:

http://blog.csdn.net/zhangchaoy/article/details/57412085

Jmeter实现webservice的接口测试的更多相关文章

  1. RobotFrameWork webservice soap接口测试 (二)

    上一篇提到做soap接口测试自己简单的写了个py,然后就简单的实现了个客户端能对远程接口进行调用,对返回的数据进行解析,可后面想着也觉得不对劲,soap协议虽说不像http协议那么普及,但是现在很多公 ...

  2. 使用Jmeter至WebService压力测试

    使用Jmeter至WebService压力测试   目中我们使用了Jmeter对webservice进行了压力測试,Apache JMeter是Apache组织开发的基于Java的压力測试工具.用于对 ...

  3. 用Jmeter+Badboy+Fiddler做接口测试

    用Jmeter+Badboy+Fiddler做接口测试 2016-12-05 目录: 1 简介2 Badboy录制3 Jmeter打开Badboy脚本4 用Fiddler抓请求,补充完善脚本5 测试中 ...

  4. jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

    jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter) 一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/jav ...

  5. 学习总结——JMeter做WebService接口功能测试

    用JMeter作WebService接口功能测试(可以借助SoapUI来完成) SoapUI里面的操作: Wsdl文件或链接导入或添加到SoapUI打开待测请求:运行请求:取URL  SOAPActi ...

  6. 通过jmeter发送webservice接口请求

    1.webservice接口地址:http://ip:port/...?wsdl 2.接口数据类型:<cuxGmiChukuRmaTrxV><salesrepId xmlns:xsi ...

  7. 『动善时』JMeter基础 — 50、使用JMeter测试WebService接口

    目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...

  8. 『动善时』JMeter基础 — 51、使用JMeter测试WebService接口

    目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...

  9. Jmeter之WebService接口测试

    一.简介  1.JMeter3.2前的版本,可以使用SOAP/XML-RPC Request插件直接进行webservice接口,而3.2后的版本则已经取消了这个接口,需要另外的方法才能进行测试. 2 ...

随机推荐

  1. 【C语言学习笔记】字符串拼接的3种方法 .

    昨天晚上和@buptpatriot讨论函数返回指针(malloc生成的)的问题,提到字符串拼接,做个总结. #include<stdio.h> #include<stdlib.h&g ...

  2. MyEclipse自带且常用的快捷键和自己定义的快捷键方法步骤

    1.MyEclipse自带且常用的快捷键 内容提示(补全): Alt+/    导包快捷键: Ctrl+Shift+o    格式化代码: Ctrl+Shift+f    行代码位置上下调换: Alt ...

  3. 学习shell脚本之前的基础知识

    日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位 ...

  4. volatile 学习笔记

    全面理解Java内存模型(JMM)及volatile关键字 正确使用 Volatile 变量 Java内存模型 在并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步.通信是指线程之间 ...

  5. 网络编程--Socket与ServerSocket

    1.服务器端代码 package net; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Sock ...

  6. DDD领域模型企业级系统(二)

    用户层: 1.请求应用层获取用户显示的信息 2.发送命令给应用层要求执行某个命令 应用层: 对用户界面提供各种应用功能(包括信息获取与命令执行),应用层不包含业务逻辑,业务层是由应用层调用领域层(领域 ...

  7. 选择性卸载eclipse安装过的工具

    我们有时候需要卸载eclipse中之前安装的一些工具,而不想全部删除,那就可以采取下面的方式: 打开eclipse,Help->About Eclipse->Installation De ...

  8. oracle数据库11g(11.2.0.1)安装报错:提示ins_ctx.mk编译错误。

    https://blog.csdn.net/weixin_42967330/article/details/81668404

  9. JOIN从句

    MySQL基础表和数据 -- 5条数据 select * from test_a; -- 8条数据 select * from test_b; 内连接 -- 内连接,join,为inner join的 ...

  10. span 超出内容自动换行

    <span style="width:80%;word-break:normal;display:block;word-warp:break-word;overflow:hidden; ...