如何从 excel 获取整数值并存储在 Soap UI 属性步骤中
How to get Integer value from excel and store in Soap UI properties step
我在 excel 中有一个数据保存数值,当我将相同的值从 Excel 发送到 Soap UI 属性时,它的值被转换成如下所示的字符串:
在Excel中:
数据列的值为 200
在 Soap UI 属性中:
数据字段的值正在更改为 200.0
任何人都可以帮助我在 Soap UI 属性中获得相同的数值吗?
FileInputStream fis = new FileInputSTream("Excel File Location");
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet Sheet = new XSSFSheet("SheetName");
int totalRows = sheet.getPhysicalNumberOfRows();
testRunner.testCase.SetPropertyvalue("totalRows",totalRows.toString())
def int totalcolumn = sheet.getrow(0).getLastCellNum();
def columns = []
def data = []
def rowIndex = testrunner.testCase.getPropertyValue("RowIndex").toInteger();
if(rowIndex<totalRows)
{
for(int i = 0;i<totalcolumn;i++)
{
colData = sheet.getRow(0).getCell(i).toString();
propdataarray.add(colData)
testData = sheet.getRow(rowIndex).getCell(i).toString();
dataArray.add(testData);
testRunner.testCase.getTestStepByName("Properties").setPropertyValue(columns.get[i],data.get[i])
}
}
正如 Axel Richter 所说,使用 DataFormatter.formatCellValue
从源中更正值。或者你可以使用一个抽象 script ,它与 Groovy 一起工作得很好,可以为你处理。
如您所说,SoapUI 仅将字符串用于 属性 值。如果你想在receiving/use这边更正它,你可以使用这个:
def propVal = '200.0'
assert propVal instanceof java.lang.String
println propVal.toFloat().toInteger()
assert propVal.toFloat().toInteger() instanceof java.lang.Integer
通常最好在源代码中更正格式(在将其存储到 属性 之前)。
我在 excel 中有一个数据保存数值,当我将相同的值从 Excel 发送到 Soap UI 属性时,它的值被转换成如下所示的字符串:
在Excel中: 数据列的值为 200 在 Soap UI 属性中: 数据字段的值正在更改为 200.0
任何人都可以帮助我在 Soap UI 属性中获得相同的数值吗?
FileInputStream fis = new FileInputSTream("Excel File Location");
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet Sheet = new XSSFSheet("SheetName");
int totalRows = sheet.getPhysicalNumberOfRows();
testRunner.testCase.SetPropertyvalue("totalRows",totalRows.toString())
def int totalcolumn = sheet.getrow(0).getLastCellNum();
def columns = []
def data = []
def rowIndex = testrunner.testCase.getPropertyValue("RowIndex").toInteger();
if(rowIndex<totalRows)
{
for(int i = 0;i<totalcolumn;i++)
{
colData = sheet.getRow(0).getCell(i).toString();
propdataarray.add(colData)
testData = sheet.getRow(rowIndex).getCell(i).toString();
dataArray.add(testData);
testRunner.testCase.getTestStepByName("Properties").setPropertyValue(columns.get[i],data.get[i])
}
}
正如 Axel Richter 所说,使用 DataFormatter.formatCellValue
从源中更正值。或者你可以使用一个抽象 script ,它与 Groovy 一起工作得很好,可以为你处理。
如您所说,SoapUI 仅将字符串用于 属性 值。如果你想在receiving/use这边更正它,你可以使用这个:
def propVal = '200.0'
assert propVal instanceof java.lang.String
println propVal.toFloat().toInteger()
assert propVal.toFloat().toInteger() instanceof java.lang.Integer
通常最好在源代码中更正格式(在将其存储到 属性 之前)。