知识点
相关文章
更多最近更新
更多分享之测试WebService小工具 STORM
2019-03-02 23:40|来源: 网路
最近的项目中,一直要使用到WebService,为了测试自己编写的WebService,就找了一个叫Storm的小工具。它帮了我很大的忙,所以我和大家分享一下。
是一款用于测试Web服务的免费并且开源的工具。是用F#编写的,如果感兴趣的话,你可以在codeplex上找到它的源码。
Storm特性:
- 可以测试.NET、Java等多种编程语言所写的Web服务;
- 动态调用Web服务方法,即使需要输入和复杂数据类型;
- 节约开发时间和花费(仅仅为测试Web服务而开发throw-away测试客户端太过浪费);
- 在一个UI中测试多个Web服务;
- 编辑、控制原始SOAP请求;
- 其它(自己探索,乐趣更多!)。
运行环境 : .NET 2.0及以上,F# 1.9.3.14 (可选)
Storm快速上手:
- 添加一个WebService(如下图一所示):点击添加,输入wsdl的endpoint url,比如
- http://www.deeptraining.com/webservices/weather.asmx
- http://api.google.com/GoogleSearch.wsdl - 选择一个Web方法:让storm分析这个web方法,然后给出调用这个方法所需的参数。
- 选择一个Web方法参数,并且输入必要的值。
- 点击GO(绿色箭头按钮):调用web方法。(结果如下图二所示)
图一: 添加WebServie
图二 : 调用WebServe方法返回结果
Storm快捷操作:
- 加载WebService并且测试它的方法
-
- 在工具栏中点击ADD
- 提供Wsdl的endpoint Url
- 点击GO(绿色箭头按钮)
- 选择一个Web方法或点击右键,并在新标签页中打开它
- 点击SEND
- 保存SOAP请求作为测试用例
-
- 打开WebService
- 在树视图中(闪电图标),选择一个Web方法
- 点击SEND
- 在SOAP输入框中,切换到“原始视图”或“XML视图”
- 编辑数据
- 点击SAVE。选择“Test Data”选项,填写测试用例的标签,附注等。点击OK
- 现在,原始的SOAP请求消息将是该项目的一部分
- 同样,你可以在SOAP响应输出框中用步骤4-7保存SOAP响应作为预期响应。
- 保存当前会话为storm项目
-
- 假设你已经打开了一个带或不带测试用例的WebService
- 点击工具栏中的SAVE按钮
- 填写项目名称,单击OK:将创建下列文件结构
{File} StormProject.stormproj
- {Folder} ServiceName
- {Folder} WebMethod
- {Folder} TestCaseName
- {File} TestInputLabel_testinput.xml
- {File} WebMethod_test.config
- {File} ServiceName_ws.config
- 载入已保存的Storm项目
-
- 创建一个storm项目
- 在工具栏中单击OPEN,选择已创建的storm项目文件
- 点击OK:加载WebService和所有测试用例。
- 执行已保存的测试用例
-
- 打开一个storm项目
- 右击一个测试用例节点。选择Run/EDIT:这将打开一个新标签页
- 根据需要编辑测试输入(点击Edit图标)
- 点击RUN来调用Web方法
- 如果是绿色,就意味着实际响应和预期响应一样
- 发送多个数组项
-
- 加载WebService
- 选择一个接受数组为输入参数的Web方法
- 点击“树视图”,编辑
- 点击RUN来调用Web方法
- 切换到“原始视图”。根据需要编辑SOAP请求,只要你喜欢,你可以添加任意多的数组项。但是要确保,你编辑后,SOAP请求还是正确的XML格式。(可以使用XML视图确认。)
- 发送多个成员数组项
-
- 加载WebService
- 选择一个接受类作为输入参数的Web方法(这个类含有数组成员)
- 点击“树视图”(闪电图标)
- 选择类:弹出对象编辑框
- 在对象编辑框中,选择数组成员
- 添加数组项
转自:http://www.cnblogs.com/yhuang/archive/2012/04/04/share_storm
相关问答
更多-
好好利用风暴?(Good use of storm?)[2021-12-04]
在风暴谷歌集团找到答案。 似乎DRCP拓扑将发出一个元组,其中包含由DRCP spout作为流接收的参数,然后在处理完成时指示回(使用称为请求ID的唯一标识)。 在同一个线程中,hadoop可能最适合这些情况,除非数据不够大,并且可以一直处理。 Found the answer in the storm google group. Seems that DRCP topologies will emit a tuple with parameters that is received by DRCP spo ... -
经过几次测试后,我设法解决了这个问题。 使用以下测试环境运行: - Windows 7 SP1 --Apache Storm 1.0.3 - Java 1.8.0_111 - Eclipse Mars.2(4.5.2) 在本地群集上运行拓扑的方法示例: private void runTopology(final StormTopology topology, final String topologyName, final long timeout) { LocalCluster localClust ...
-
Storm java.io.NotSerializableException:运行拓扑时(Storm java.io.NotSerializableException: when running topology)[2022-05-05]
这里的例外很清楚。 如果您只是查看了java.io.NotSerializableException的文档,您会看到正在打印的消息是不可序列化的类。 要修复,只需让您的拓扑类实现Serializable : public class ProvaTopology implements Serializable { ... } 这是必需的,以便Storm可以序列化您的拓扑并将其发送到Nimbus执行。 由于您的Bolts和Spout扩展或实现了Storm提供的类或接口,因此您不必担心将它们标记为可序列 ... -
调试Storm Crawler(Debugging Storm Crawler)[2022-08-24]
WIKI项目有相关说明 There are instructions for that on the project WIKI -
是的,这是可能的。 您可以站起来运行Storm的“单节点集群”,它可以在一台机器上运行。 这将模拟真正的集群会是什么样的,但是您将有1台机器托管整个堆栈(ZooKeeper和Storm)。 本质上,Nimbus服务器是您的工作服务器。 配置它与此指南相同: https : //github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster 。 基本上一切都将是您的localhost机器。 Maven是一个构建工具,用于从源代码构建软件(它也可以执行其他 ...
-
我们只需要在生成的类文件之上编写一个抽象层,就像java客户端一样 。 您可以通过以下方式生成drpc类文件: thrift --gen php storm.thrift 你必须在你的代码中要求php-thrift库。 我把工作代码放在下面的repo中: https://github.com/mithunsatheesh/php-drpc We just need to write an abstraction layer on top of the generated class files, exac ...
-
我从来没有听说过DSMS一词,但是看一下维基百科上的描述,我认为Storm绝对可以说是DSMS。 来自维基百科: 它类似于数据库管理系统(DBMS)[...]但是,与DBMS相比,DSMS执行连续查询,该查询不仅执行一次,而且是永久安装的。 这听起来就像Storm一样。 但请注意,在Storm的情况下,它通常与DBMS结合使用。 例如,Storm可以提供One-time queries , unlimited secondary storage等,维基百科说这与DSMS结合时缺乏DSMS。 I had ne ...
-
我昨天得到了答案,我需要的是将localhost更改为127.0.0.1,然后我在终端上启动Redis数据库,在监视器的第二个终端上启动,我的发布方法正在运行。 I came with the answer yesterday, what I needed is to change the localhost to 127.0.0.1, then I launched the Redis database on a terminal, on a second terminal the monitor, an ...
-
根据您的场景,我认为您需要一些中间的系统或代码,这些系统或代码将从Storm读取数据并推送到D3。 您可以尝试像WSO2 CEP [1]这样的东西,它能够连接到Storm并使用websockets将事件推送到基于d3的仪表板[2]。 在您的场景中,您可以将Storm bolt中的逻辑映射到Siddhi查询[3],然后将这些事件从Storm转移到WSO2 CEP。 然后,您可以创建一个websocket发布者,使用服务器的内置websocket功能将事件发送到D3代码。 请注意,这是基于您的要求的可能解决方案 ...
-
很可能这是已知的节点问题: https : //github.com/joyent/node/issues/1669另请参阅mocha + webstorm - 错误消息已损坏 Most likely this is the known Node issue: https://github.com/joyent/node/issues/1669 See also mocha + webstorm - error message broken