2017-07-05 9 views
0

私は以下のコードを使用してExcelファイルからプロパティをPropertyに設定し、それをテストケースに渡します。Groovy Scriptingを使用したデータ駆動型テスト

私がGroovyコードを実行すると、Excelの最後のセルの値がプロパティステップに表示されます。

プロパティを正しく設定するのを手伝ってください。

import jxl.* 

Workbook wb = Workbook.getWorkbook(new File("C:\\Users\\naraysa1\\Desktop\\Address_Doctor\\DataSource_Address_Validate\\Data_AddressValidate.xls")) 
Sheet sh = wb.getSheet(0) 
RowCount = sh.getRows(); 
ColumnCount = sh.getColumns(); 
for (i=1;i<RowCount;i++) 
{ 
    for (j=0;j<ColumnCount;j++) 
    { 
     def c = sh.getCell(j, i).getContents(); 
     log.info c 

     testRunner.testCase.getTestStepByName("Properties_Address").setPropertyValue("ID", c) 
     testRunner.testCase.getTestStepByName("Properties_Address").setPropertyValue("AddressLine1", c) 
     testRunner.testCase.getTestStepByName("Properties_Address").setPropertyValue("AddressLine2", c) 
     testRunner.testCase.getTestStepByName("Properties_Address").setPropertyValue("AddressLine3", c) 
     testRunner.testCase.getTestStepByName("Properties_Address").setPropertyValue("City", c) 
     testRunner.testCase.getTestStepByName("Properties_Address").setPropertyValue("State ", c) 
     testRunner.testCase.getTestStepByName("Properties_Address").setPropertyValue("PostalCode", c) 
     testRunner.testCase.getTestStepByName("Properties_Address").setPropertyValue("Country", c) 

     def TestStep = testRunner.runTestStepByName("Search_Address") 
    } 
}  

答えて

0

スクリプトでは、すべてのプロパティにExcelの各セルの値を割り当て、各セルにteststepを実行します。

おそらく、ある行のセル値を別のプロパティにマップし、各行に対してテストを実行したいとします。

(あなたはExcelの表のゼロ行からこのマップを初期化することができます)

に、次のマップを定義

def header=[ 
    0:'ID', //means put cell0 into property `ID` 
    1:'AddressLine1', 
    2:'AddressLine2', 
    3:'AddressLine3', 
    4:'City', 
    ... 
] 

、今、あなたのサイクルは次のようになります。

for (i=1;i<RowCount;i++) 
{ 
    for (j=0;j<ColumnCount;j++) 
    { 
     def pname = header[j] 
     if(pname){ 
      def c = sh.getCell(j, i).getContents(); 
      testRunner.testCase.getTestStepByName("Properties_Address").setPropertyValue(pname, c) 
     } 
    } 
    def TestStep = testRunner.runTestStepByName("Search_Address") 
} 
関連する問題