Excel Step excelStoreCellValue
Description
Provides the ability to store the value of a cell in a property for later checking. Note that this step tests the actual stored value of the cell, not what is displayed in the spreadsheet. In particular, formulas will not be evaluated.
Parameters
- property
- Required? yes
- The name of the property in which to store the value.
- cell
- Required? yes/no
- The spreadsheet cell to select. eg. A5. Either cell or row and col must be specified.
- col
- Required? no
- The name or number (starting at 1) of the column to select. eg 1 or A. Either cell or row and col must be specified.
- description
- Required? no
- The description of this test step.
- propertyType
- Required? no, default is the "defaultPropertyType" as specified in the "config" element is used.
- The type of the property in which to store the value. Either "ant" or "dynamic".
- row
- Required? yes/no
- The number of the row to select, starting at 1. Either cell or row and col must be specified.
- sheetIndex
- Required? no
- The index of the sheet to select, starting at zero. If no sheet is selected, the value of the last excelSelectSheet call is used, or defaults to the first sheet.
- sheetName
- Required? no
- The name of the sheet to select. If no sheet is selected, the value of the last excelSelectSheet call is used, or defaults to the first sheet.
Details
Here is an example of using the excelStoreCellValue step illustrating both a simple and more complex comparison:
excelStoreCellValue Example
<webtest name="exceltest - store cell value">
<config .../>
<steps>
<invoke url="testExcel.xls"/>
...
<-- simple comparison -->
<excelStoreCellValue property="intValue" cell="B26"/>
<verifyProperty property="intValue" text="23"/>
...
<-- comparison with manipulation: cell contains '$9.50' -->
<excelStoreCellValue property="dollarValue" cell="C26"/>
<-- remove '$' and account for rounding errors -->
<groovy>
junit.framework.Assert.assertEquals(9.5 as double,
'#{dollarValue}'.substring(1).toDouble(),
0.0000001 as double)
</groovy>
...
</steps>
</webtest>
<config .../>
<steps>
<invoke url="testExcel.xls"/>
...
<-- simple comparison -->
<excelStoreCellValue property="intValue" cell="B26"/>
<verifyProperty property="intValue" text="23"/>
...
<-- comparison with manipulation: cell contains '$9.50' -->
<excelStoreCellValue property="dollarValue" cell="C26"/>
<-- remove '$' and account for rounding errors -->
<groovy>
junit.framework.Assert.assertEquals(9.5 as double,
'#{dollarValue}'.substring(1).toDouble(),
0.0000001 as double)
</groovy>
...
</steps>
</webtest>