场景:用SoapUI开展Webservice的性能压力测试
用SoapUI进行Webservice的性能压力测试
1.
选择在一个测试用例中测试多个方法,并为测试生成压力测试:
2.为测试 Step 添加变量:
右键选中 Test Step ,添加一个 Grooy Script Step ;添加一个变量 count 并设置初始值为 0
3.添加一个随机变量:
右键选中 Test Step ,添加一个 Grooy Script Step ;名称为 rand ,用下面的代码产生一个随机值
[java] view plaincopyprint?
Random rand =newRandom()
result ="test_"+ rand.nextInt(100)
Random rand = new Random() result = "test_" + rand.nextInt(100)
4.使用动态参数:
打开 init 操作的 SOAP 请求,将输入参数用上面步骤产生的随机替换
[xhtml] view plaincopyprint?
${rand#result}
${rand#result}
5.按条件选择执行操作:
同样的再添加一个 Grooy Script Step ;名称叫 ExecHandler ,用来条件控制用例的执行
[vb] view plaincopyprint?
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")
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 将会按照你所设置的方式来执行。