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

2025-04-03 00:11:05
推荐回答(2个)
回答(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 将会按照你所设置的方式来执行。

回答(2):

参考   57.看保险备信鸽