之前没发现SoapUI可以做性能测试,自己写了两个简单的例子,体验一下它的测试功能。

一、使用控件顺序执行

 SoapUI性能测试

  测试的框架如上图所示,一个TestCase包含Test Steps(具体的测试步骤),Load Tests(设置测试线程的属性)以及安全测试,本文主要对前两个阶段进行详细说明。

1. JDBCRequest

  从数据库获取数据,配置信息如图:

     SoapUI性能测试

2. Property Transfer

  将JDBCRequest查询结果映射到WebService Request中,添加三个属性对应关系

     SoapUI性能测试

3. SOAPRequest

  在实际运行中,Property Transfer会将第一步的数据填充到对应的WebService请求参数中

      SoapUI性能测试

4. LoadTest

  可以设置执行测试步骤的线程数量,模拟系统并发情景,并统计每个步骤运行时间。

      SoapUI性能测试

 

二、使用Croovy脚本

    SoapUI性能测试

1. 设置Properties

  添加三个属性,用于Groovy脚本和AlternateRequest之间的参数传递

       SoapUI性能测试

2. SOAPRequest

       SoapUI性能测试

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()

 

相关文章:

  • 2021-11-19
  • 2021-11-19
  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2021-06-14
  • 2022-02-28
猜你喜欢
  • 2021-10-07
  • 2021-11-19
  • 2021-06-27
  • 2022-12-23
  • 2021-10-18
  • 2021-04-26
  • 2021-11-19
相关资源
相似解决方案