2017-03-11 14 views
0

私のプロジェクトにはいくつかのテストケースがあります。私はオープンソースsoapを使用しています。CSVファイルを読み込むためのgroovyスクリプトの再利用方法

私は以下のコードを使用しています。

のDataSource

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) 
//Define Path 
def csvFilePath = "D:\\URL.csv" 
context.fileReader = new BufferedReader(new FileReader(csvFilePath)) 
//Header 
firstline = context.fileReader.readLine() 
//Actual Test Data 
firstline = context.fileReader.readLine() 
//Split data with comma 
String[] data = firstline.split(",") 
log.info data[0] 
log.info data[1] 
//Assign each comma separated value to the Property 
context.testCase.setPropertyValue("username", data[0]) 
context.testCase.setPropertyValue("userrole", data[1]) 

DataLoop:ループバック

nextline = context.fileReader.readLine() 
if(nextline!=null) 
{ 
String[] data = nextline.split(",") 
log.info data[0] 
log.info data[1] 
context.testCase.setPropertyValue("username", data[0]) 
context.testCase.setPropertyValue("userrole", data[1]) 
//context.testCase.setPropertyValue("roledescription", data[2]) 
//Navigate to AddUser Step to run again with the next row 
testRunner.gotoStepByName("AddUsers") 
} 

各テストケースでこれらを使用するために、私は、各テストケースにクローンを作成する必要が..私はTestCase1として最初の行を読み込み作成しました次の部分はTestCase2となります。これらのスクリプトをRunTestCaseオプションから呼び出しています。

しかし残念ながら、私はエラーを取得していますnullオブジェクトのreadlineメソッドを呼び出すことはできません。

私はDataloopの部分に参照を追加しました。しかし、それは無限ループを作成する..再利用する方法はありますか?

+0

クローンを作成しても上記のスクリプトが役立ちますかどうかわかりませんか?これをチェックするhttps://learnsoapui.wordpress.com/2012/05/19/groovy-datasource-teststep-dataloop-teststep-using-groovy-in-soapui/ – Rao

+1

groovyでcsvを扱うより良い方法は - https ://github.com/xlson/groovycsv – Rao

+0

同じテストケースでうまく動作しているコード。しかし、それを遠ざけて、コンセプトが再利用されていません。 – ChanGan

答えて

-1

次に、あなたのテストケースに新しいグルーヴィーなスクリプトを追加し、ちょうど

を入れ、外部ファイル内のすべてのあなたのGroovyコードをコピーして、AddUser.groovy

として名前が(新しいファイル( 'パス/に/は、AddUserを評価します。グルーヴィー)));


それはあなたが別のテストケース

であなたのGroovyスクリプトを再利用するのに役立ちます
関連する問題