1. 程式人生 > >SoapUI自動化--Groovy指令碼實現隨機抽取DataSource(Excel)

SoapUI自動化--Groovy指令碼實現隨機抽取DataSource(Excel)

def subRow=6
def startColumn='A'
def startRow=2
//以上3個數據,由使用者填寫,後期實現在testSuite或者testCase的Property中實現取值
//subRow 總共有多少行資料(不包含表頭)
//startColumn 起始的列名(在Excel中表示為A,B,C,D,E)
//startRow 表示資料的起始行(在Excel中資料的起始行,有些資料會有表頭)
def random=new Random()
def row=(int)(random.nextFloat()*subRow)+startRow
def startCell=startColumn+String.valueOf(row)
//產生隨機數,並生成Cell編號
def dataSource=testRunner.testCase.testSteps['DataSource']
//com.eviware.soapui.impl.wsdl.teststeps.WsdlDataSourceTestStep
def excelSource=dataSource.getDataSource()
//com.eviware.soapui.impl.wsdl.teststeps.datasource.ExcelDataSource
dataSource.setStartRow('0')
dataSource.setEndRow('0')
//因為每次只去一條資料,所以開始和結束都為0,即範圍為1
excelSource.setStartCell(startCell)
//設定讀取資料的起始Cell
//這三句語句的結合,就形成了隨機取一行資料的效果