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

Maha ·
更新时间:2024-11-15
· 958 次阅读

  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?

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

  ${rand#result}

  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 将会按照你所设置的方式来执行。



WebService 性能 压力 SoapUI 压力测试 测试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号