Test case to run multiple cases on Calculator using DATA TABLE
Step 1. Go to Menu View -> Data Table
Step 2. Create data table in Local data table Action1 as shown below :
Start the test as written below:
' Start the test
Window("Calculator").Activate
icurrentrow=1
' Set datasheet as LOCAL datasheet
DataTable.GetSheet dtlocalsheet
' Set row as first row
DataTable.SetCurrentRow icurrentrow
Window("Calculator").WinButton("C").Click
Step 3. Now we have to use for loop to cover all the 5 rows.
(TIP: Make sure that in Keyword view -> Actions (Right Click) -> Actions Call Properties -> Datatable Iterations is set to : One iteration only.)
To cover each column we have to use this code
DataTable.value("input1",dtlocalsheet)
Here input1 is field name and same way we have to use different field.
We have to write below code:
For i=1 to 5
Window("Calculator").Activate
' Reading the values from datatable
Window("Calculator").WinButton(DataTable.value("input1",dtlocalsheet)).Click
Window("Calculator").WinButton(DataTable.value("operator",dtlocalsheet)).Click
Window("Calculator").WinButton(DataTable.value("input2",dtlocalsheet)).Click
Window("Calculator").WinButton("=").Click
' Read the results
strActualResult = Window("Calculator").WinEdit("Edit").GetROProperty("text")
strExpectedResult=DataTable.value("result",dtlocalsheet)
strExpectedResult=strExpectedResult & ". "
' Compare the result
If strActualResult = strExpectedResult Then
' Post the result
reporter.ReportEvent micPass,"Expetected result is " & strExpectedResult & " and my actual result is " & strActualResult, "Pass"
else
reporter.ReportEvent micFail,"displaying data","Expected is ="& DataTable.value("result",dtlocalsheet)& "and my actual result is " & strActualResult
End If
Window("Calculator").WinButton("C").Click
' Set next row as current row
icurrentrow = icurrentrow +1
DataTable.SetCurrentRow icurrentrow
' Moving for loop to next
Next
****************Complete Code of test as below****************
Window("Calculator").Activate
icurrentrow=1
DataTable.GetSheet dtlocalsheet
DataTable.SetCurrentRow icurrentrow
Window("Calculator").WinButton("C").Click
DataTable.value("input1",dtlocalsheet)
For i=1 to 5
Window("Calculator").Activate
Window("Calculator").WinButton(DataTable.value("input1",dtlocalsheet)).Click
Window("Calculator").WinButton(DataTable.value("operator",dtlocalsheet)).Click
Window("Calculator").WinButton(DataTable.value("input2",dtlocalsheet)).Click
Window("Calculator").WinButton("=").Click
strActualResult = Window("Calculator").WinEdit("Edit").GetROProperty("text")
strExpectedResult=DataTable.value("result",dtlocalsheet)
strExpectedResult=strExpectedResult & ". "
If strActualResult = strExpectedResult Then
reporter.ReportEvent micPass,"Expetected result is " & strExpectedResult & " and my actual result is " & strActualResult, "Pass"
else
reporter.ReportEvent micFail,"displaying data","Expected is ="& DataTable.value("result",dtlocalsheet)& "and my actual result is " & strActualResult
End If
Window("Calculator").WinButton("C").Click
icurrentrow = icurrentrow +1
DataTable.SetCurrentRow icurrentrow
Next