Using Mercury Device Replay in EXTJS webtable



I need to click on a text that is present in a ExtJS grid control (webtable). This grid/table is nested inside other grid controls. The Object hierarchy looks like this in the spy (ExtWebTable is a custom control we coded and put in the custom extjs add-in)



   Page ()

     ExtWebTable : X

          ExtWebTable : X

              ExtWebTable : X 

                  ExtWebTable : NOT FOUND

                           WebTable: X

                                    ExtWebTable: NOT FOUND


The NOT FOUND value is beacuse UFT was unable to assign a title to these inner grid controls. But the innerText property of the last ExtWebTable: NOT FOUND is the Text I want to click.  I tried all conventional methods to click on the text in the grid using UFT like using Row , column, using sourceIndex of the cell etc. But noting works. At last I used mercury device replay and got the mouse pointer to move to the place inside the inner grid and then do click. 


Is this a tenable solution that works consistently? Does anybody have any other ideas that they would like to share?

Please let me know







  • I don't think using device replay is a sensible solution for this. We test an ExtJS application with grids using just the standard WebTable functionality of UFT.


    As with all ExtJS testing, the important thing to start with is to devise a means of identifying objects reliably. This might mean asking your development team to add additional attributes to significant objects.


    Note that ExtJS generates many nested tables and it is important to identify the table at the correct level in your structure before you can use standard UFT table functiions to manipulate it.


    A general word about ExtJS - this toolkit generates complex html pages that are difficult to automate reliably. You should really be thinking about developing a proper framework for this. I've briefly described our approach before in this forum  - a search for ExtJS should bring back some results.


    Good luck