在自己的工作中经常碰到要做接口级别的功能和性能测试,soapUI是一款不错的工具,可以用来对soap接口和REST接口做测试。具体的操作步骤可以参考:
  http://www.ibm.com/developerworks/cn/opensource/os-cn-soapui/#listing2
  当然,在soapUI的官网上也有说明。
  对于REST接口,基本是按照project->service->resource->method来创建的,按照接口文档配置好各项参数以后,可以测试该接口的功能了。值的注意的是在project可以配置参数,一些全局的参数值可以放在这里,例如IP,端口,用户名等等,这样省去了有变化时每个接口都要修改。同样的,在配置接口参数时也可以在URL或者消息体中调用参数值,例如:
  {
  "user_id":"${#Project#UserName}",
  "value":"${#Project#Passwd}",
  "host_ip":"${#Project#LocalIp}"
  }
  这代表消息体中的user_id取project参数中UserName的值,其他的value和host_ip类似。
  在接口的URL中也可以定义本地化参数,例如{version}代表取接口中version参数的值。
  对于接口的简单性能测试也可以用soapUI来做,相比于Loadrunner它更加轻量化,同时可以用自带的Groovy脚本做一些自动化的操作批量执行用例。例如:
  import groovy.util.XmlSlurper;
  import java.util.Date;
  //取得body中X-Auth-Token值
  String response = testRunner.testCase.getTestStepByName("Login").testRequest.response.getContentAsXml();
  log.info(response);
  body = new XmlSlurper().parseText(response)
  String Token = body.data
  log.info(Token)
  //将Token值赋给project变量,以便后面teststep获取使用
  testRunner.testCase.testSuite.project.setPropertyValue("Token", Token);
  接口的性能测试,主要依靠TestSuite中的LoadTest来做,在LoadTest中可以将多个接口或者脚本组装成一个完整的执行用例,配置线程并发数,执行次数,执行时间等,后的结果中可以看到每个step的执行状态。对于接口来说,主要的还是要看执行结果是否正确,以及每个接口的响应时间。