webservice API自动化测试(二)

上一篇 / 下一篇  2010-01-22 18:48:05 / 个人分类:Webservice API自动化测试

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

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

 

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

 

第二步,比较相应的XML和XSD。比较方法有两种。

第一种方法是讲对应的XSD和Response XML利用JAVA程序进行比较,对应的读XML的方法有多种,SAX,DOM,JDOM,4JDOM等等,您可以选择相应的进行比较。之中4JDOM对XPATH支持,并且其的算法支持大数据量,性能比较好。

下面是对应test case RESPONSE的获得:

def step = testRunner.testCase.testSteps["XXXX"]

def result = step.testRequest.response.contentAsString

 

第二种方法是用SOAPUI支持的groovy语言进行比较,以下有个简单的实例,您可以扩展:

import javax.xml.XMLConstants

import javax.xml.transform.stream.StreamSource

import javax.xml.validation.SchemaFactory

 

def factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI)

def schema = factory.newSchema(new StreamSource(new StringReader(XSDFILEREADERXX)))

def validator = schema.newValidator( )

validator.validate(new StreamSource(new StringReader(XMLFILEREADERXXXXXX)))

第三步,这里您能在每个test case的界面设置相应的assert点,您也能在后台的groovy语言进行assert。

 

在groovy脚本中您能使用相应的IO操作进行对测试结果的输出,这里项目中使用对应的txt文档配置需要测试的测试用例,并对测试结果进行输出,报错机制要完善哦,呵呵。

 

第四步,我们这里需要使用testrunner.bat -s XXXXX,XXXXX对应您相应的TestSuite名称,如果有多个suite,您可以使用组合命令自动化,对JAVA程序的调用可以写成相应的ANT脚本,之后用.bat文件进行自动化测试。

这样您就完成了第一步的对schema的验证测试。

 

NOTE:注意的是大部分的schema的bug是由相应的sequnce的设置原因以及元素的缺失。在测试的同时我们还要重视非法数据的使用,特别POST的数据。这里提醒有时soapUI的POST方法需要您选择MIME类型,才能发送正确的数据,大多针对UI层能正确使用,但soapUI测试出现HTTP500-错误的情况。


TAG: API SoapUI webservice 自动化 SOAPUI

 

评分:0

我来说两句

日历

« 2024-04-30  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 147684
  • 日志数: 22
  • 建立时间: 2009-10-14
  • 更新时间: 2010-07-27

RSS订阅

Open Toolbar