之前沒發現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()