用SoapUI进行Webservice的性能压力测试
1.???? 
选择在一个测试用例中测试多个方法,并为测试生成压力测试:
右键选中 Test Step ,添加一个 Grooy Script Step ;添加一个变量 count 并设置初始值为 0
右键选中 Test Step ,添加一个 Grooy Script Step ;名称为 rand ,用下面的代码产生一个随机值
?
?
4.????? 使用动态参数:打开 init 操作的 SOAP 请求,将输入参数用上面步骤产生的随机替换
?
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.test.jastar.com.cn"> <soapenv:Header/> <soapenv:Body> <web:run> <web:in0>${rand#result}</web:in0> </web:run> </soapenv:Body></soapenv:Envelope>?
5.????? 按条件选择执行操作:同样的再添加一个 Grooy Script Step ;名称叫 ExecHandler ,用来条件控制用例的执行
?
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 将会按照你所设置的方式来执行。