webservice API自动化测试

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

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

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

  第二步,比较相应的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-错误的情况。

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号