在SOAP UI中Mock Restful Service

来源:互联网 发布:逆战刷枪软件2016 编辑:程序博客网 时间:2024/06/04 14:53

SOAP UI中可以很方便的mock soap service. 在每个soap service的右键菜单里都有"Generate MockService"选项, 可以根据wsdl定义自动生成mock service, 包括会为每个operation返回的response.

 

 

soap service不同, soap ui没有为Restful service提供直接的mock方式, 而只是提供客户端的测试能力. 不过SOAP UI还是提供了一种基于docrootmock方法, 实现很简单不过功能也有限. 具体步骤如下:

 

1, 创建 MockService

在创建的Project通过右键可以找到New MockService选项, 会弹出窗口让输入Mock Service的名字.

 

 

2. 配置选项

双击刚建好的MockService, 在弹出的窗口选择.

Docroot里选择一个目录.

 

 

3. 创建文档.

在刚才Docroot指定的目录下就可以创建文件了. 在每次MockService收到请求时, URL中斜杠"/"分割的最后一个字段就是MockService返回给客户端的文件.

 

例如:

GET http://localhost/mockrestful/v0.1/MySearch

MockService就会在docroot下查找名字为"MySearch"的文件返回给client

 

这里的技巧:

当文件是以.json结尾(GET http://localhost/mockrestful/v0.1/MySearch.json),则返回的HTTP header中的Content-Typetext/javascript

如果是.xml,Content-Typetext/xml

如果是.txt, Content-Type: text/plain

其它Content-Typeapplication/octet-stream

 

除了docroot的方法外,也可以通过onRequest Script实现Mock Restful service, 具体可以参考官网:http://www.soapui.org/Service-Mocking/mocking-rest-services.html

 

 

 

总的说来这种docroot方式还是比较简陋, SOAP UI提供的soap service mock功能相差还比较大,无法适应复杂些的测试场景,

 

以上步骤在SOAP UI3.5下测试通过.

原创粉丝点击