I have encountered an issue while writing a test for a page in our app which has a Silverlight Datagrid.
This Datagrid shows the results of a user search operation. The test needs to do something if the Search operation fails (i.e. no results are returned). I recorded the steps to create the condition where the grid was empty (no users found) and then recorded the following statement using Datagrid's element menu:
Verify: 'DataGridUserProfileListDatagrid''s row count 'Equal' '0'
However, when I played it back, the above check failed even when the grid was empty. The log file showed the following for the Verify step:
'6/15/2011 7:10:28 PM' - 'Pass' : 17. Click ButtonSearchButton
'6/15/2011 7:10:29 PM' - 'Fail' : 18. Verify: 'DataGridUserProfileListDatagrid''s row count 'Equal' '0'.
Property did not satisfy constraint (24 Equal 0)
24 is the total number of users in the system in our test environment.
....24 is the total number of users in the system in our test environment.
Note that the statement above is as originally recorded i.e. row count displayed in the Verify row count command in the element menu of the DataGrid was 0 (which is as expected).
I also verified that the DataGridRowsPresenter node in the DOM of the DataGrid had no children - both during recording and on playback (see attached screen shot for the version on playback).
Is this a known issue? If not, any ideas on what might be the problem?
I have implemented a workaround that seems to work (verify existence of the first row of data) - but it would be nice if the row count feature worked (I might want to use it in other tests).
I am using Version 2010.R3 and unfortunately cannot upgrade to the 2011 version right now (tests do not run on our desktop environment).
Your help would be much appreciated,