Groovy - MissingPropertyException - Нет такого свойства - PullRequest
0 голосов
/ 21 марта 2019

Ниже приведен мой отличный сценарий, который я написал в пользовательском интерфейсе SOAP. Когда я выполняю приведенный ниже код, первое значение из моего Excel читается и сохраняется на вкладке свойств

Источник

import com.eviware.soapui.support.XmlHolder
import java.io.File
import java.io.IOException
import jxl.*
import jxl.read.biff.BiffException;
import jxl.write.*

log.info("Started")
def myTestCase = context.testCase
def reqOperationName = "Add";
def source = "D:\\Automation\\SourceRD.xls";
def inputDataSheetName = "Input";

Workbook workbook = Workbook.getWorkbook(new File(source));
WritableWorkbook copy = Workbook.createWorkbook(new File(source), workbook);
WritableSheet sheet1 = copy.getSheet(inputDataSheetName);

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def reqholder = groovyUtils.getXmlHolder(reqOperationName + "#Request")
try {
    rowcount = sheet1.getRows();
    size = rowcount.toInteger()
    propTestStep = myTestCase.getTestStepByName("Properties")
    propTestStep.setPropertyValue("Total", size.toString())
    colcount = sheet1.getColumns();
    rowcount=2;
    for (Row in 0..rowcount - 1) {
        for (Col in 0..colcount - 1 ) {
            String reqTagName = sheet1.getCell(Col,0).getContents()
        String reqTagValue = sheet1.getCell(Col,Row).getContents()
            propTestStep = myTestCase.getTestStepByName("Properties")
            propTestStep.setPropertyValue(reqTagName, reqTagValue)
        }
    }

} catch (Exception e) {
    log.info(e)
} finally {
    copy.write();
    copy.close();
    workbook.close();
}
log.info("Success")

Ниже приведен мой зацикленный скрипт

def myTestCase = context.testCase
def runner

testRunner.gotoStepByName("Source")

Как я могу иметь возможность переходить к следующей строке в моем Excel, изменяя исходный код? Возможно, манипулирование rowCount и общее количество строк?

1 Ответ

0 голосов
/ 21 марта 2019

Ваше имя переменной sheetl (с L), и ваш код использует sheet1 (с одним).

...