用SoapUI开展Webservice的性能压力测试
用SoapUI进行Webservice的性能压力测试
1.
1. 
选择在一个测试用例中测试多个方法,并为测试生成压力测试:
2. 为测试 Step 添加变量:
右键选中 Test Step ,添加一个 Grooy Script Step ;添加一个变量 count 并设置初始值为 0
3. 添加一个随机变量:
右键选中 Test Step ,添加一个 Grooy Script Step ;名称为 rand ,用下面的代码产生一个随机值
- Random rand = new Random()
- result = "test_" + rand.nextInt(100)
Random rand = new Random() result = "test_" + rand.nextInt(100)
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 将会按照你所设置的方式来执行。