webservice API自动化测试

发表于:2010-2-09 11:38

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

 作者:wuyingminhui    来源:51Testing软件测试博客

  最近在webservice的项目中,主要使用SOAPUI进行webservice的测试,SOAPUI是一个开源的测试API的工具,对于现在的SOAP,REST的webservice的支持都很好。下面简单介绍下SOAPUI的原理,SOAPUI和大多数的工具一样,都是使用HTTPREQUEST对相应的资源进行请求很提取。再得到response之后进行相应的处理,对XML进行XPATH定位。注意的是SOAP方法中包含GET,POST的方法,POST的方法主要使用Application/xml的MIME形式发送相应的POST数据。这里注意webservice都有一些通病,对SQLinjection基本都没有相应的保护,所以我们要注意的是对webservice中POST的数据进行校验。也就是通常所说的安全校验。

  对webservice的测试主要分为两个阶段,首先是对WEB Ui层面的数据XML Response与webservice的schema进行对比测试,其次是web Ui层面的数据与数据库服务器中相应的数据进行验证。这两个阶段的测试必须进行对比,以防止webservice的编写严谨度不够。

  在实际项目中遇到过这样的一个BUG,在UI界面的功能中,详细信息中的必填项(非0)与受限制项(比如有文本限制,字体限制等等)在webservice实现中没有体现,我们可以用0值POST到数据库中。主要是由于开发在wenservice编写中没有校验和严谨的设计。

  SOAPUI支持的语言是GROOVY,作为JAVA的脚本语言,GROOVY的扩展性很强,再加上SOAPUI中原本实现的utils类能对相应的response进行XPATH的定位,得到相应的数据进行验证,在webservice实现中还能够使用property transfer进行对参数的传递,功能十分强大。

  在使用SOAPUI前如果是大数据量的,比如100个CASE对数据的查询比较频繁,建议在使用前,对SOAPUI的JVM的设置提高,建议在1G左右,这样可以提高SOAPUI的可用性。

  下面,将具体对SOAPUI的脚本编程和进阶使用进行分析。

  SOAPUI的使用之前介绍的有两方面。先介绍第一种测试。

  就是对schema及Response XML的验证,这里主要的流程是:

  第一步,将resource对应到您相应要测的XSD文件,也可有WSDL或者WADL加载生成。然后加入对应比较的resouce源,即响应response的URL。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号