如何在SoapUI中创建模拟服务和动态响应?

发表于:2017-4-06 09:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Nishi Grover Garg    来源:51Testing软件测试网原创

分享:
  4) 双击模拟操作打开配置面板,会提供设置动态响应的方法
  了解派遣的方法:
  在配置面板中,通过选择调度方法,我们可以设置动态响应。
  各种调度方式:
  SCRIPT: 使用脚本,我们可以根据请求的内容设置动态响应。
  下面有一个例子:
  在脚本方法中,使用Groovy脚本来读取请求内容并提取特定节点的值。请参阅以下脚本示例,其中的结果响应根据输入请求值而更改的。
1 import javax.xml.xpath.*
2 import groovy.xml.StreamingMarkupBuilder
3 import groovy.lang.Binding;
4 import groovy.lang.Script;
5 def util = new com.eviware.soapui.support.GroovyUtils( context )
6 def xml = new XmlSlurper().parseText(mockRequest.requestContent)
7 def country = xml.Body.GetCitiesByCountry.CountryName
8 def str = country.toString()
9 log.info str
10 def len = str.size()
11 log.info len
12 if(len > 1 )
13 {
14  context.ResultResponse = "Response1"
15  log.info "r1"
16 }
17 else if(len <= 1)
18 {
19  context.ResultResponse="InvalidMockResponse 2"
20  log.info "r2"
21 }
  SEQUENCE:这是发送响应的简单方法,按照响应顺序依次查询。
  QUERY_MATCH:查询可以是一个复杂的调度方法,这是种基于查询结果的方式。
  在配置面板中,我们可以在左侧和右侧面板上列出一个或多个查询,可以指定查询(XPATH)和期望值。如果查询符合预期值,则将调度所选的响应。否则,将返回默认响应。
  XPATH:和QUERY_MATCH相似,但没那么强大。如果XPATH匹配,则发送响应。
  RANDOM:这是一种简单的调度方式,它只是以随机的方式获取响应并立即发送。
  Scripting for Mock Response:
  模拟响应脚本:
  脚本时复杂多样的,同时脚本也提供了一种方法,这种方法能够在脚本发送给客户端时更改模拟响应的内容、标题以及附件。同时,它还允许模拟有效或者无效的HTTP响应。每个模拟响应都可以有自己的脚本,用于在响应消息中创建动态内容。
  模拟响应编辑器底部的脚本检查器如下所示:
  脚本示例:
1 import javax.xml.xpath.*
2 import groovy.xml.StreamingMarkupBuilder
3 import groovy.lang.Binding;
4 import groovy.lang.Script;
5 def util = new com.eviware.soapui.support.GroovyUtils( context )
6 def xml = new XmlSlurper().parseText(mockRequest.requestContent)
7 def country = xml.Body.GetCitiesByCountry.CountryName
8 def str = country.toString()
9 log.info str
10 if(str == 'India' || str == 'INDIA')
11 {
12 context.CaptialCity = "Delhi"
13 }
14 else if(str == 'UK' || str == 'Uk')
15 {
16 context.CaptialCity = "London"
17 }
  在上面的例子中,脚本只是在当前上下文的响应中设置属性"CaptialCity"的值。我们可以使用各种方法创建属性动态内容,如查询数据库或读取外部文件等。
  Mock Services是SOAPUI最强大的功能之一。模拟服务公开了一些模拟操作,反过来也可以包含任意数量的模拟响应。这些回应将提供一个有形的方式来评估Web服务实际工作,如何回应用户以及使用应用程序。SOAPUI中的动态模拟响应使其在自动化测试过程中使用非常频繁。通过一些额外的脚本工作,可以创建自动测试步骤,这将确保提高测试质量,并有效减短Web应用程序开发阶段的测试时间。
版权声明:51Testing软件测试网(www.51testing.com)原创出品,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。
22/2<12
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号