CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

开源的Web Service测试工具介绍

作者: csdn ,  出处:csdn , 责任编辑: 李春禹, 
2008-02-22 13:25
  在本文中,我会分析3款声称能验证你的Web services的正确性的工具:soapUI、TestMaker和WebInject。三款都是开源的,能免费下载并整合到你的下一个Web services项目中去。

  TestMaker

  TestMaker是PushToTest的一个Web service测试工具。它需要Java1.4或以上。我把TestMaker4.4安装在Ubuntu Linux6.10,看Web service测试在Linux会是怎样的。安装很简单,一旦设置好JAVA_HOME环境变量后,TestMaker启动和运行都没有问题。

  TestMaker的测试是用称为“测试代理”(test agents)的脚本来完成的。TestMaker提供一个“代理向导”(Agent Wizard)来读入WSDL定义并自动创建一个测试代理的基本结构。

  需要指出的是:TestMaker不仅仅能测试Web services;它还能被用于测试Web应用程序。与TestMaker绑定在一起的还有一个网络监视工具,能监视浏览器和目标Web应用之间的HTTP通信,并且从交互过程中产生测试用例。然而,我没有体验那些功能,因为那与Web services的关系不大。

  TestMaker的测试代理是用Jython(用Java写的Python)写的。这是把双刃剑。一方面,TestMaker的脚本可以变得很强大,拥有编程能力。Jython可以访问所有Java库,还有TestMaker提供的类和方法。TestMaker最大的库是TOOL(Test Object Oriented Library),它包括所有处理各种通讯协议的类:HTTP,HTTPS、SOAP、JDBC等。因此,你可以创建很精细的测试用例来处理任何Web service可能被调用的客户端应用。

  另一方面,你需要掌握Jython来充分利用TestMaker,或者换句话说,你需要知道Python和Java。这未必是件坏事,但是它绝对意味着TestMaker的学习曲线要比其他工具陡峭。

  由代理向导(Agent Wizard)创建的基本的测试代理(test agent)是很简单的:它知道目标服务的Web方法,并且执行不会出现错误,但是它没有真正执行任何请求、响应或者测试结果。我发现我需要检查一个测试代理例子的源代码来填写缺少的内容。

  一旦你跨越了陡峭的学习曲线,就可以很容易地通过拷贝、粘贴和调整已有的代码来创建新的测试。另外,用户界面的用户体验很好。最开始启动TestMaker的时候,它会打开一个“QuickStart”窗口,在这里,你可以运行代理向导(Agent Wizard),直接跳到测试代理提供的例子,或者深入阅读它的文档。TestMaker的用户界面也是标准的多窗口IDE,左边是导航面板,右边是编辑区域,结果显示区域在右下端,类导航视图界面在左下端。

  TestMaker可以在命令行执行,因此,你的测试代理(test agent)可以被自动化系统执行。另外,TestMaker还绑定了Apache Axis TCPMonitor工具,它让你可以监视某个端口的HTTP信息交换。这对于检查内部请求/响应对来决定如何编写Jython测试代码时会很有用。

  商业的TestMaker版本添加了XSTest,提供性能测试和容量测试(Scalabillity testing),一个监视面板提供实时的结果,报告能力,还有TestNetWork – 能远程执行测试代理(test agent),因此,允许你搭建测试代理服务器来同时测试目标Web应用程序。

  TestMaker的文档很好,工具的感觉像专业的应用。但是,很难掌握和精通。需要留出大量时间来阅读指南和分析那些例子的源代码。

  WebInject

  WebInject是一个极其轻量级的测试工具,能自动化测试Web services和Web应用程序。事实上,WebInject能测试XML/SOAP Web Service好像是最近增加的功能,早期版本不能很好地处理SOAP协议。

  WebInject首先是一个用Perl写的命令行工具,虽然它的作者提供了一个简单的Perl/Tk用户界面,至少简化了测试的执行(对于某些人来说不愿意花太多的时间在命令行)。如果你不熟悉Perl,不要害怕。WebInject的使用可以不用任何Perl代码。

  WebInject其实是一个执行和报告引擎。不像其他工具,它没有IDE类型的用户界面,因此测试的编辑必须在WebInject界面之外完成。这让人感觉WebInject没有那么专业,但是这不妨碍这个工具的使用,我可以想象WebInject的用户都有一个目录存储了各种测试“模板”。新建一个测试的时候,这些用户只需要打开他们最喜欢的编辑器,拷贝粘贴一些代码,调整一下就完成了一个新的测试用例。

共3页。 9 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i