【JMeter4.0(三)】之SoapUI创建WebService接口模拟服务端以及JMeter对SOAP协议性能测试脚本开发

目录:

 

 

 

 

【阐述】:首先应该遇到了一个共同的问题,JMeter3.2之后就没有WebService(SOAP) Request,后来经过查询网上资料得知其实可以用HTTP请求来操作,结果是一样的。

具体资料大家可以参照原文《Jmeter测试SOAP协议(Jmeter 3.3)》感谢作者:stone9159

【步骤】:

一、创建WebService接口模拟服务端

如果大家有接口地址是最好啦,不过本人因为没有接口地址,所以就自己手动模拟创建WebService接口模拟服务端。

参考资料:《SoapUI5.0创建WebService接口模拟服务端》感谢作者:sean-zou

1、首先,需要下载SoapUI

官方下载地址:https://www.soapui.org/downloads/latest-release.html

下载后,一直点击下一步进行安装就可以啦,在此不必陈述。

2、使用SoapUI创建WebService接口模拟服务端需要接口描述文件

新建文件:MathUtil.wsdl

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://sean.com" 
        xmlns:apachesoap="http://xml.apache.org/xml-soap" 
        xmlns:impl="http://sean.com" 
        xmlns:intf="http://sean.com" 
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
        xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <wsdl:types>
  <schema elementFormDefault="qualified" 
          targetNamespace="http://sean.com" 
          xmlns="http://www.w3.org/2001/XMLSchema">
   <element name="add">
    <complexType>
     <sequence>
      <element name="x" type="xsd:int"/>
      <element name="y" type="xsd:int"/>
     </sequence>
    </complexType>
   </element>
   <element name="addResponse">
    <complexType>
     <sequence>
      <element name="addReturn" type="xsd:int"/>
     </sequence>
    </complexType>
   </element>
  </schema>
 </wsdl:types>
   <wsdl:message name="addResponse">
      <wsdl:part element="impl:addResponse" name="parameters">
      </wsdl:part>
   </wsdl:message>
   <wsdl:message name="addRequest">
      <wsdl:part element="impl:add" name="parameters">
      </wsdl:part>
   </wsdl:message>
   <wsdl:portType name="MathUtil">
      <wsdl:operation name="add">
         <wsdl:input message="impl:addRequest" name="addRequest">
       </wsdl:input>
         <wsdl:output message="impl:addResponse" name="addResponse">
       </wsdl:output>
      </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="MathUtilSoapBinding" type="impl:MathUtil">
      <wsdlsoap:binding style="document"
              transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="add">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="addRequest">
            <wsdlsoap:body use="literal"/>
         </wsdl:input>
         <wsdl:output name="addResponse">
            <wsdlsoap:body use="literal"/>
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="MathUtilService">
      <wsdl:port binding="impl:MathUtilSoapBinding" name="MathUtil">
         <wsdlsoap:address 
                 location="http://localhost:8080/webservice_create/services/MathUtil"/>
      </wsdl:port>
   </wsdl:service>
</wsdl:definitions>
复制代码

3、打开SoapUI,通过MathUtil.wsdl文件在SoapUI中创建一个SOAP项目:

确认后,会在新建的SOAP项目下自动生成模拟客户端

在模拟客户端的基础上创建一个接口模拟服务端(Mock Service):

确定后,双击【Response1】

 

返回值默认为"?",一定要进行修改,否则调用该接口时会报错

4、接口模拟服务端配置以及启动

双击创建的接口模拟服务端,点击【设置】按钮:

 把地址可以自己定义,然后确定:

 再返回点击运行按钮,启动服务器

 在浏览器中输入ip和端口号:

 

再点击链接:

 

此时,创建WebService接口模拟服务端完成!

 

二、JMeter对SOAP协议性能测试脚本开发

如图所示,建立线程组、HTTP信息头管理器、HTTP请求、查看结果树等

1、建立线程组

2、建立HTTP信息头管理器

 在“HTTP信息头管理器”中,添加一行名称和值,来源于如下图:

Content-Type: text/xml;charset=UTF-8

 

 3、建立HTTP请求

填写服务器IP、端口号、HTTP方法、路径、编码,以及打开“Body Data”

Body Data内容填写:

复制代码
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sean="http://sean.com">
   <soapenv:Header/>
   <soapenv:Body>
      <sean:add>
         <sean:x>?</sean:x>
         <sean:y>?</sean:y>
      </sean:add>
   </soapenv:Body>
</soapenv:Envelope>
复制代码

 4、建立监听器并运行查看结果

运行之后,查看结果树:

测试成功!

posted @   Owen_ET  阅读(3595)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
  1. 1 イエスタデイ(翻自 Official髭男dism) 茶泡饭,春茶,kobasolo
  2. 2 模様 (TV size ver.) Ivy to Fraudulent Game
  3. 3 河口恭吾
  4. 4 愛してる 高鈴
  5. 5 一生所爱 卢冠廷,莫文蔚
  6. 6 世间美好与你环环相扣 柏松
  7. 7 理想三旬 陈鸿宇
  8. 8 不浪漫罪名 王杰
  9. 9 樱花树下 张敬轩
  10. 10 因为你在 达闻西乐队,福禄寿FloruitShow
  11. 11 悬溺 葛东琪
不浪漫罪名 - 王杰
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 陈少琪

作曲 : 王杰

没有花 这刹那被破坏吗

没有花 这刹那被破坏吗

无野火都会温暖吗

无烟花一起庆祝好吗

若爱恋 彷似戏剧那样假

若爱恋 彷似戏剧那样假

如布景一切都美化

连相拥都参照主角吗

你说我未能定时 令你每天欢笑一次

你说我未能定时 令你每天欢笑一次

我没说出一句美丽台词

是你心中一种缺陷定义

流进了眼角里的刺

为何不浪漫亦是罪名 为何不轰烈是件坏事情

为何不浪漫亦是罪名 为何不轰烈是件坏事情

从来未察觉我每个动作 没有声都有爱你的铁证

为何苦不浪漫亦是罪名 为何总等待着特别事情

从来未察觉我语气动听 在我呼吸声早已说明

甚么都会用一生保证

没有花 这刹那被破坏吗

没有花 这刹那被破坏吗

无野火都会温暖吗

无烟花一起庆祝好吗

若爱恋 彷似戏剧那样假

若爱恋 彷似戏剧那样假

如布景一切都美化

连相拥都参照主角吗

你说我未能定时 令你每天欢笑一次

你说我未能定时 令你每天欢笑一次

我没说出一句美丽台词

是你心中一种缺陷定义

流进了眼角里的刺

为何不浪漫亦是罪名 为何不轰烈是件坏事情

为何不浪漫亦是罪名 为何不轰烈是件坏事情

从来未察觉我每个动作 没有声都有爱你的铁证

为何苦不浪漫亦是罪名 为何总等待著特别事情

从来未察觉我语气动听 在我呼吸声早已说明

什么都会用一生保证

为何不浪漫亦是罪名 为何不轰烈是件坏事情

为何不浪漫亦是罪名 为何不轰烈是件坏事情

从来未察觉我每个动作 没有声都有爱你的铁证

为何苦不浪漫亦是罪名 为何总等待著特别事情

从来未察觉我语气动听 在我呼吸声早已说明

什么都会用一生保证

点击右上角即可分享
微信分享提示