在soapUI的可让您只需从WSDL基础服务创建一个基于WSDL服务的符合标准的模拟。被称为“MockService”,这可以直接从内部的soapUI运行,命令行浇道,或甚至标准servlet容器。

一个MockService符合公认的WSDL,SOAP,HTTP标准,客户应该能够使用它,就好像它是一个真正的服务。

1. MockService模型

MockServices模拟通过暴露任意数量的MockOperations提供他们的服务。其中每个又可以包含任何数量的配置的MockResponse消息,下面的模型:

  • MockService,包含

    • MockOperations,包含

      • MockResponses

在soapUI的一个例子MockService如下所示;

这里MockService包含四个MockOperations其中每个包含不同数量MockResponse消息。

当接收由MockService一个SOAP请求和分派到特定MockOperation,相应MockResponse基于所配置的MockRequest分派器被选择。

每个MockOperation对应在您的测试项目的一个WSDL服务的WSDL操作,包含的MockResponse消息从与操作相关联模式中创建。这并不意味着一个MockResponse必须遵守相关联的模式,它可以返回任意XML或短信,你可能例如配置它对完全不同的操作各返回一个响应消息,从而使您可以测试有能力处理无效的和意想不到的响应消息。

创建MockService是直线前进,最简单的就是从WSDL服务通过服务右键菜单生成它Generate MockService action。在打开的对话框让你选择哪些操作应该被Mock,并填写MockService上的路径或端口:

确保路径和端口设置控制在其上MockService可用,确保尚未使用你的系统上运行的其他服务器软件选定端口的URL。

快速提示: 您可以在同一端口和路径上创建多个MockServices,soapUI的会问每个依次调度传入的请求,直到请求被处理。

设置所需的配置和后点击OK,一个MockService被添加到项目中,双击它打开MockService窗口:

顶部包含一个操作选项卡显示配置MockOperations,下面就是标签添加的说明:

  • 启动脚本:当MockService开始调用,用它来 ​​初始化
  • 停止脚本:调用时MockService停止,用它来 ​​清理,自定义报表等。
  • OnRequest脚本:调用时MockService接收来自外部客户端的请求,用它来 ​​提供定制的mocking行为。
  • AfterRequest脚本:当请求到MockService已处理后被调用,用于使用该定制数据收集或报告。

2.运行您的MockService

当点击运行按钮,MockService是soapUI的内立即启动,就可以看到这一点,如果你点击日志选项卡的soapUI窗口的底部;

该MockService现在已准备好根据配置的路径和端口处理传入的SOAP请求。这些将基于其内容被分派到的相应MockOperation,如果没有匹配MockOperation会有一个标准的SOAP错误返回:

在这里,我们已经发送SOAP请求到一个无mocking的MockService,返回错误信息。

2.1。查看分派消息

消息日志在底部显示MockService最后的收到的请求; 双击一个条目以查看请求和返回的响应的实际内容,例如:

快速提示: 您可以通过取消选中启用选项在消息日志查看器禁用日志,这将节省内存和CPU性能。

3.查看协议

如上所述,监听到配置的路径和端口上的请求后该服务立即启动。此外,它也暴露了MockServic的WSDL网址; 例如输入HTTP://本地主机:8088 / mockSampleServiceBinding WSDL在浏览器中显示的WSDL:

请注意,MockOperation可以从潜在地两个不同的WSDL包含MockOperations,在这种情况下,生成的WSDL将是所有被mock的包装WSDL。

也暴露了WSDL包含实际的HTTP地址暴露在MockService:

如果你想通过WSDL从远程计算机来访问你的MockServices,那么这个选项对话框可以修改主机域。重命名它:

这个结果在下面的节点暴露在WSDL:

4. MockService请求调度

有许多可用设置有关的soapUI如何分派收到的消息,可通过左下方的MockService属性选项卡:

如下所示:

  • 匹配的SOAP版本:需要使用和所配置MockOperation请求相同的SOAP版本。如果它被设置为false一个SOAP 1.2请求可以被分派到一个SOAP 1.1 MockOperation。
  • 需要SOAP动作:该选项控制是否需要soapUI检查SOAP动作HTTP头分配到正确的MockOperation。
  • Dispatch的回应:you might want to use the ReplyTo Header in a request when working with WS-Addressing to direct the response to a soapUI MockService. If this is the case soapUI will actually be receiving a response message, which is not supported unless this specific option is set to true, in which case soapUI will dispatch the request as if it was a request for the received response. Further, if the received response is a SOAP Fault, for example via the Fault-To header, an option in the MockService Options dialog is available for telling soapUI how to dispatch this since Fault messages usually are generic:

SOAPUI使用教程-MockServices工作原理的更多相关文章

  1. git教程1-git工作原理与初始化仓库

    一.git工作原理 1.git是版本控制器,因此管理的是版本,每一次提交commit就是新建一个版本. 2.分支:git主分支可以存放一个阶段已经完成好的版本,而修改版本则放置在次分支上. 3.融合: ...

  2. 全网最全最细的fiddler使用教程以及工作原理

    目录:导读 一.Fiddler抓包工具简介 二.Fiddler工作原理 三.Fiddler安装 四.Fiddler界面介绍​ 五.Fiddler菜单栏介绍 六.Fiddler工具栏介绍 七.Fiddl ...

  3. C#微信开发小白成长教程一(公众平台的工作原理与调试环境部署,附视频)

    黑夜给了我黑色的眼睛,我决定录视频到天明.半年前的现在,我还在苦逼着加着班,半年后的今天我依旧苦逼着加着班.不过现在的是为自己加班,作为一个资深程序小白,一个月前我光荣的成了一个不称职的资本家,不称职 ...

  4. 【CC2530入门教程-06】CC2530的ADC工作原理与应用

    第6课  CC2530的ADC工作原理与应用 广东职业技术学院  欧浩源 一.A/D转换的基本工作原理 将时间上连续变化的模拟量转化为脉冲有无的数字量,这一过程就叫做数字化,实现数字化的关键设备是AD ...

  5. AppScan工作原理&操作教程

    一.AppScan的工作原理 对一个综合性的大型网站来说,可能存在成千上万的页面.以登录界面为例,至少要输入用户名和密码,即该页面存在两个字段,当提交了用户名和密码等登录信息,网站需要检查是否正确,这 ...

  6. WireGuard 教程:WireGuard 的工作原理

    原文链接:https://fuckcloudnative.io/posts/wireguard-docs-theory/ WireGuard 是由 Jason Donenfeld 等人用 C 语言编写 ...

  7. 转载:【Oracle 集群】RAC知识图文详细教程(三)--RAC工作原理和相关组件

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  8. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  9. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

    RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

随机推荐

  1. 11月6日下午PHP分页查询(查询结果也显示为分页)

    1.先把数据库里所有的数据分页显示在页面,并在显示数据的表格上方加上查询表单. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...

  2. logo

  3. Python学习笔记——条件和循环

    1.条件表达式 >>> x = 3 >>> x = 1 if x<3 else 2 >>> x 2 2.for语句用于序列类型 <1& ...

  4. html 图像映射(一个图像多个连接)

    以前就见过那种导航地图,点击地图的不同省份分别跳到不同的连接,现在用html实现一下,简单的. 图像映射是指一个图像可以建立多个连接,就是在图像上面定义多个区域,每个区域连接到不同的地址. 效果如图: ...

  5. PHP curl获取页面内容,不直接输出到页面,CURLOPT_RETURNTRANSFER参数设置

    使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出.这个时候就必需设置curl的或true. 1.curl获取页面内容, 直接输出例子: <?php $ ...

  6. HMac基本介绍

    基本介绍 HMAC(散列消息身份验证码: Hashed Message Authentication Code) 它不是散列函数,而是采用散列函数(MD5 or 或SHA)与共享密钥一起使用的消息身份 ...

  7. HTML5CSS3特效-上下跳动的小球-遁地龙卷风

    (-1)写在前面 我用的是chrome49,这个idea是我在stackoverflow上回答问题时看到了,多谢这位同行,加深了我对很多技术点的理解,最近刚到北京,忙碌了一两天,在后续的日子里,会被安 ...

  8. BZOJ4590——[Shoi2015]自动刷题机

    1.题意:题意很简洁吧,就不概括了 2.分析:我思考了半天,我猜答案满足单调...没敢写,看了题解去问Claris为啥单调,Claris一句话" 因为n越大明显不可能做更多题 ", ...

  9. Shodan新手入坑指南

    *本文原创作者:xiaix,本文属FreeBuf原创奖励计划,未经许可禁止转载 亲们~黑五 Shodan Membership 只要5刀,你剁手了没? 什么是 Shodan? 首先,Shodan 是一 ...

  10. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...