SoapUI性能测试
之前没发现SoapUI可以做性能测试,自己写了两个简单的例子,体验一下它的测试功能。
一、使用控件顺序执行
测试的框架如上图所示,一个TestCase包含Test Steps(具体的测试步骤),Load Tests(设置测试线程的属性)以及安全测试,本文主要对前两个阶段进行详细说明。
1. JDBCRequest
从数据库获取数据,配置信息如图:
2. Property Transfer
将JDBCRequest查询结果映射到WebService Request中,添加三个属性对应关系
3. SOAPRequest
在实际运行中,Property Transfer会将第一步的数据填充到对应的WebService请求参数中
4. LoadTest
可以设置执行测试步骤的线程数量,模拟系统并发情景,并统计每个步骤运行时间。
二、使用Croovy脚本
1. 设置Properties
添加三个属性,用于Groovy脚本和AlternateRequest之间的参数传递
2. SOAPRequest
3. 使用Groovy脚本进行自动化测试
import groovy.sql.Sql def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context); def con = Sql.newInstance("jdbc:sqlserver://host:1433;databaseName=?", "user", "password", "com.microsoft.sqlserver.jdbc.SQLServerDriver") def results = con.rows("select statementId, revisionDt, revisionTypeId from dbo.statement_revision where statementId=1") for(result in results){ log.info result def MyProp = testRunner.testCase.getTestStepByName("MyProperties") MyProp.setPropertyValue("statementId", result.statementId.toString()) MyProp.setPropertyValue("revisionDt", result.revisionDt.toString()) MyProp.setPropertyValue("revisionType",result.revisionTypeId.toString()) def response = testRunner.runTestStepByName("AlternateRequest") } con.close()