Web Service Mocking是武器库一个非常有用的工具。这是解决“如果没有Web服务如何创建针对性的Web服务测试”问题的办法。Web Service Mocking将在这里派上用场。它允许你实际的Web服务产生之前,创建近似或模拟的Web Service。在本教程中,我们将:

  1. 创建项目
  2. 创建MockService
  3. 编辑MockService
  4. 调用MockService
  5. 自定义MockResponse

1.创建一个新项目

  1. 使用下面的WSDL开始新的SOAP项目
    http://www.webservicex.net/CurrencyConvertor.asmx?WSDL 该currencyConverter 服务正在非常努力地工作。如果你看到加载定义窗口无限运行,Web服务可能已关闭。要验证Web服务工作,网址复制到您喜爱的浏览器的地址栏和测试Web服务。如果你的浏览器不响应,Web服务已关闭。

  2. 该CurrencyConvertor项目节点应在浏览器中可见。

我们现在准备创建MockService

2.创建一个MockService

  1. 在SOAP接口之一单击鼠标右键并选择Generate MockService。
  2. 在该对话框中Generate Mock Service,您可以指定本地端口/路径正在创建的服务,但就目前只需单击OK。
  3. 请在名称对话框您MockService的名称,然后单击确定。
  4. 创建MockService后,你应该得到一个带有操作和请求的MockService。 正如你所看到的,图标是灰色的。这是一个指示该MockService尚未运行。我们已经成功地创建了第一个MockService。让我们来编辑它!

3.编辑MockService

  1. 现在,双击MockService看到MockService编辑器。在编辑器中,我们可以看到对于该服务的所有操作的列表,以及它记录已经由所述MockService处理所有传入的请求和响应日志。
  2. 双击 Conversion Rate,看看我们在MockService的MockResponses:
  3. 正如你可以看到我们只能有一个。让我们来编辑它。双击它打开响应编辑器。 该编辑器MockResponse和SoapUI请求编辑器是非常相似的,但不是请求,我们将编辑是响应。该Incoming Request 视图还是非常有用的; 它显示最后接收到的请求的操作,这对于调试客户端的呼叫,包括附件和HTTP头是有用的。
  4. 编辑ConversionRateResult别的东西比默认值为空“?” 

恭喜你,你刚刚创建你的第一次现场般MockService!让我们来看看它是否工作。

4.调用MockService

  1. 首先,我们必须启动MockService。点击在MockService编辑器。这将启动配置的端口和路径上的服务。 为了右上角,你应该看到它的运行编辑器,端口它的响应上。播放按钮是灰色,如果你想停止MockService,只需点击
  2. 在MockResponse编辑器,单击Create Request
  3. 这将提示您打开其运作项目中的现有请求之一。
  4. 当您打开请求,将SoapUI自动的切换节点到本地运行的MockService来代替正在使用WSDL的节点。点击运行按钮。 正如你所看到的MockService返回我们前面的响应输入的值。
  5. 如果您切换回MockResponse编辑器并选择其 Incoming Request来看,你应该能够看到被张贴到MockService并通过MockOperation处理的请求。

恭喜!这是你的第一个MockService。诚然,这是很简单的,所以让我们使它更有点复杂。但首先,随意修改所创建的内容MockResponse并重新提交请求,看到你的变化是立即可用,没有必要重启MockService。做了什么?让我们通过定制MockResponse继续前进和完成。

5.自定义MockResponse

让我们继续通过创建MockResponse更加动态的一点点改变dispatchGroovy scripting

    1. 首先,我们将创建第二个MockResponse。
    2. 给它一个名字
    3. 让我们写响应脚本。点击脚本选项卡中的响应,并输入以下Groovy脚本:context.setProperty( "rate", Math.random() ), 它看起来是这样的: 此脚本设置了一个名为属性rate到一个随机数。正如你可能已经注意到,我们没有在任何地方使用属性率,所以让我们添加它。

    4. ConversionRateResult元素输入以下内容:${rate} 这就是所谓的属性扩展,他是一个SoapUI非常强大的功能。。通过插入属性扩展中的任何元素,你就可以通过编程填补元素。基本上它告诉了SoapUI使用的属性rate的当前值。

    5. 现在,我们已经写了一个剧本,结果会被插入到响应,真棒!

soapui中文操作手册(四)----MOCK服务的更多相关文章

  1. soapui中文操作手册(八)----Web服务的功能测试案例

    现在,让我们来看看在一个TestCase的功能测试. 展开 Simple TestSuite并双击Simple Login and Logout w. Properties Steps. 正如你所看到 ...

  2. soapui中文操作手册(五)----入门与安全测试

    在SoapUI4.0引入的安全测试特点使它非常容易为你来验证你的目标服务的功能性安全,就可以评估您的系统常见的安全攻击的漏洞.特别是如果系统是公开可用的,即使不是这种情况,确保了完全安全的环境也是非常 ...

  3. soapui中文操作手册(一)----创建一个新的项目

    1) 创建一个新的项目 点击项目,选择新建项目SOAP.这将打开一个新的SOAP项目对话框. 注意:你也可以做CTRL + N(WIN)或CMD+ N(MAC)来创建一个新的SOAP项目. 在新的SO ...

  4. soapui中文操作手册(十)----REST Sample Project

    第一步:打开MockService 1.双击MockService: 2.单击开始mockservice. 你会看到mockservice“端口8080上运行”. 参考: 配置使用MockServic ...

  5. soapui中文操作手册(六)----创建REST Testing

    首先,通过选择文件菜单中的“新建REST项目”选项创建从文件菜单中一个新的REST项目: 指定服务端点场下谷歌地图API网址: http://maps.googleapis.com/maps/api/ ...

  6. soapui中文操作手册(三)----使用SoapUI进行负载测试

    使用了SoapUI进行负载测试 负载测试是相当独特的,我们已经创建了一个功能,使您能够快速创建性能测试,并很容易地修改它们.SoapUI性能测试通常是从现有功能测试创建.这使您可以非常快速地创建先进的 ...

  7. soapui中文操作手册(二)----通过您的WSDL请求创建一个测试

      1.通过您的WSDL请求创建一个测试 点击加号旁边的导航拓展项目树的Web服务,并选择请求: 在SoapUI Pro中,所述请求编辑出现在右边.SoapUI Pro有一个编辑器,它简化了XML的层 ...

  8. soapui中文操作手册(七)----Web Service Sample Project

    REST推理 这份简短的教程将引导您完成架构推断功能. 我们将创建一个新的项目,并添加一个REST服务,而初始WADL文件启动了. 发送请求后,我们就可以使用响应来构建我们的架构. 演示请求 为了演示 ...

  9. MOCK服务小结

    前言: 说到mock,大家会想到单测中的mock,测试同学会想到httpmock服务等. mock的作用:程序运行过程中,设定过滤规则及返回值,来满足固定的数据解析,解决不容易构造或者获取的数据对象. ...

随机推荐

  1. 51nod1069(nim博弈)

    题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1069 题意: 中文题诶~ 思路: 一开始我以为需要把上一堆到 ...

  2. js函数动态传参

    js函数体内可以通过arguments对象来接收传递进来的参数,利用这一对象属性可以动态传参. function box() { return arguments[0]+' | '+arguments ...

  3. FragmentPagerAdapter实现刷新

    在fragmentpageadapter的instantiateItem方法里,他会先去FragmentManager里面去查找有没有相关的fragment如果有就直接使用如果没有才会触发fragme ...

  4. CLR via C#(02)-基元类型、引用类型、值类型

    http://www.cnblogs.com/qq0827/p/3281150.html 一. 基元类型 编译器能够直接支持的数据类型叫做基元类型.例如int, string等.基元类型和.NET框架 ...

  5. EF – 8.多对多关联

    5.6.10 <多对多关联(上)> 时长:9分57秒 难度:难 5.6.11<多对多关联(下)> 时长:8分50秒 难度:难 如果单独地把多对多关联的CRUD拿出来讲,确实比较 ...

  6. GBDT原理实例演示 1

    考虑一个简单的例子来演示GBDT算法原理 下面是一个二分类问题,1表示可以考虑的相亲对象,0表示不考虑的相亲对象 特征维度有3个维度,分别对象 身高,金钱,颜值     cat dating.txt ...

  7. css 妙味 总结

    技巧一: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...

  8. 7-13IN和NOT IN 子查询

    IN后面的子查询可以返回多条记录. SELECT ...FROM  WHERE 查询表达式 IN(子查询) 常用IN替换等于(=)的比较子查询. 用法: (1)使用 :IN关键字可以使父查询匹配子查询 ...

  9. 链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的

    解决方法: 1.打开该项目的"属性页"对话框. 2.单击"链接器"文件夹. 3.单击"命令行"属性页. 4.将 /SAFESEH:NO 键入 ...

  10. 发送http请求get方法

    //获取网页html NSURL* url = [NSURL URLWithString:@"http://www.baidu.com"]; NSMutableURLRequest ...