soapUI完整基本测试 不要问为什么

发表于:2013-03-25来源:新浪博客作者:shuang168999点击数: 标签:soapUI
用SoapUI进行Webservice的性能压力测试 收藏 1. 新建测试工程 选择在一个测试用例中测试多个方法,并为测试生成压力测试:

  用SoapUI进行Webservice的性能压力测试 收藏

  1. 新建测试工程

  选择在一个测试用例中测试多个方法,并为测试生成压力测试:

  2. 为测试 Step 添加变量:

  右键选中 Test Step ,添加一个 Grooy Script Step ;添加一个变量 count 并设置初始值为 0

  3. 添加一个随机变量:

  右键选中 Test Step ,添加一个 Grooy Script Step ;名称为 rand ,用下面的代码产生一个随机值

  view plaincopy to clipboardprint?

  01.Random rand = new Random()

  02.result = "test_" + rand.nextInt(100)

  Random rand = new Random()

  result = "test_" + rand.nextInt(100)

  4. 使用动态参数:

  打开 init 操作的 SOAP 请求,将输入参数用上面步骤产生的随机替换

  view plaincopy to clipboardprint?

  01.http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.test.jastar.com.cn">

  02.

  03.

  04.

  05. ${rand#result}

  06.

  07.

  08.

  http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.test.jastar.com.cn">

  ${rand#result}

  5. 按条件选择执行操作:

  同样的再添加一个 Grooy Script Step ;名称叫 ExecHandler ,用来条件控制用例的执行

  view plaincopy to clipboardprint?

  01.def countProps = testRunner.testCase.getTestStepByName("count")

  02.def index = countProps.getPropertyValue("count")

  03.if (index == "0") {

  04. testRunner.runTestStepByName("init")

  05.} else {

  06. testRunner.runTestStepByName("run")

  07.}

  08.countProps.setPropertyValue("count", "1")

  def countProps = testRunner.testCase.getTestStepByName("count")

  def index = countProps.getPropertyValue("count")

  if (index == "0") {

  testRunner.runTestStepByName("init")

  } else {

  testRunner.runTestStepByName("run")

  }

  countProps.setPropertyValue("count", "1")

  6. 执行测试:

  打开 LoadTest , disable 掉 init 和 run(ExecHandler 控制 init 和 run 的执行 ) ,设置好参数, OK 可以开始跑了。正如你所预期的 init 方法只执行一次,而 run 将会按照你所设置的方式来执行。

原文转自:http://blog.sina.com.cn/s/blog_7cab57550101jgc1.html