REST推理

这份简短的教程将引导您完成架构推断功能。

我们将创建一个新的项目,并添加一个REST服务,而初始WADL文件启动了。

发送请求后,我们就可以使用响应来构建我们的架构。

演示请求

为了演示的原则,我们会从一个演示Flickr的REST的例子

https://www.flickr.com/services/rest/?method=flickr.test.echo&format=rest&foo=bar&api_key=d6c7b624b138bcb07a2e2c736aefeb65

该请求(成功时)返回以下这种格式的响应:

<rsp stat="ok">
    <method>flickr.test.echo</method>
    <format>rest</format>
    <foo>bar</foo>
    <api_key>9e5f204388e9d6070b6b1423876be728</api_key>
</rsp>

注:API的主要变化,所以你可能需要访问Flickr的REST演示站点,并得到一个最新的API密钥。

创建项目和服务

获取很容易请求到一个REST项目:

  • 打开文件菜单
  • 选择新的REST项目

创建REST项目窗口打开:

  • 复制和以往的网址进入该区域

  • 点击确定

该项目被创建并添加到工作区:

来自请求的参数的URL被自动提取,并可以在编辑器中查看。

请求和响应

现在我们发起请求:

该请求包含所有在它定义的参数。参数已经使用默认值预先填充。

我们还没有发送的请求,所以响应是空白:

架构选项卡

其余的反应来看具有所谓的“架构”底部的标签。这是推断架构检查员

  • 打开架构选项卡

没有信息已被尚未登陆。

一般情况下,我们希望解决方案的冲突的过程自动化。但出于演示的目的,这个时候我们将采取手动:

  • 确保自动解析被禁用。

获取响应

  • 点击运行 

该请求被发送,并且我们获得回应:

注:API的主要变化,所以你可能需要访问Flickr的REST演示站点,并得到一个最新的API密钥。

架构选项卡发生变化,表明架构的冲突时有发生:

这意味着该反应的分析表明,有当前响应和先前推断模式之间的冲突。

  • 打开架构检查

现在,我们可以手动解决冲突。

  • 点击解决冲突

对于每个检测到冲突时,我们会得到一个通知,并可以根据需要采取行动。

在这种情况下,我们可以假设所有冲突应该解决(再次,没有以前的模式)。

  • 点击Yes(是)所有 *

所有冲突,然后自动解决,并记录在日志模式:

推断架构

当所有的冲突已经解决,该架构被添加在架构选项卡:

到目前为止,我们可以看到一个命名空间,并为关联了XSD架构。作为根据仅一个响应的架构,我们可以通过一些更多的请求优化它。我们应该尝试改变响应,使他们尽可能不同。例如,我们可以发出一个无效的请求,这样我们就可以推断架构故障,或使该返回一个空的结果集的查询请求,等等。

添加定义

更多的反应,可以自动添加到架构,通过简单的发送不同的请求。既然我们可以假设反应将是有效的,我们可以用“Auto-Resolve”功能。

  • 返回到冲突标签

  • 确保自动解决启用。

不同的请求

为了得到不同的回应,我们需要改变的要求:

  • 删除API_KEY

这将确保我们得到一个错误响应。

  • 点击运行 

该请求被发送,并且我们获得回应:

这一次,因为发生冲突得以解决,并自动记录:

更新模式

当所有的冲突都解决了,新的响应被包含在架构选项卡中:

新的响应已被列入架构:

现在,您可以继续修改要求,并建立起自己的模式。

soapui中文操作手册(七)----Web Service Sample Project的更多相关文章

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

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

  2. soapui中文操作手册(四)----MOCK服务

    Web Service Mocking是武器库一个非常有用的工具.这是解决“如果没有Web服务如何创建针对性的Web服务测试”问题的办法.Web Service Mocking将在这里派上用场.它允许 ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. Ubuntu 16.04安装SoapUI工具进行接口测试(Web Service/WSDL/RESTfull)

    SoapUI是一个跨平台接口测试工具,官方提供开源版本和商业版本.可以用来测试WSDL/RESTfull等接口. 替代的工具有JMeter. 一般用于WSDL的接口测试比较多,基于XML的形式,且这类 ...

随机推荐

  1. Oracle双实例切换

    1.在Linux下切换: export ORACLE_SID=xxx1   sqlplus "/as sysdba" //进入sql   startup   //启动数据库实例1  ...

  2. MetaWeblog博客客户端工具之Windows Live Writer

    吐槽&注意的坑: 刚听说了有这么一个东西,据说Windows Live Writer开源之后就改名为Open Live Writer,我以为Open Live Writer就要比Windows ...

  3. hadoop2.x NameNode 的共享存储实现

    过去几年中 Hadoop 社区涌现过很多的 NameNode 共享存储方案, 比如 shared NAS+NFS.BookKeeper.BackupNode 和 QJM(Quorum Journal ...

  4. iOS - 线程管理

    iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...

  5. Application.ProcessMessages用法

    参考:http://cqujsjcyj.iteye.com/blog/380926 我想你可能还有点模糊.举个例子容易明白:假如你的窗体上有两个按钮,一个“计算”,一个“停止”, 如果你的计算是密集运 ...

  6. Spring XML配置文件示例(二)——web.xml

    <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" ...

  7. Linux系统启动流程及安装命令行版本

    Debian安装 之前也安装过很多次linux不同版本的系统,但安装后都是直接带有桌面开发环境的版本,直接可以使用,正好最近项目不是很忙,想一直了解下Linux的整个启动流程,以及如何从命令行模式系统 ...

  8. Unity3D打Box游戏

    先学习一些基本的脚本实现: 1.动态创建物体.默认位置是(0,0)位置 GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Cube ...

  9. sublime总结

    自定义快捷键: preferences->key binding->user ctrl+d 删除行 ctrl+k 选中下一同名变量,alt+F3 选中全部同名变量 [ {"key ...

  10. 在Salesforce中实现对Object的增删改查操作

    1): Insert Statement    http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#CSHID=ap ...