Hi~ We are testing an application which adopts tons of Infragistics UltraGrid (2006) with RFT 7.0.1 or higher. Before installing TestAdvantage_WinForms_IBM_20073.exe, during the recording phase, we tried to use "Object Finder" to create a verification point on a cell data of UltraGrid, RFT only recognized the whole grid object so we can't do meaningful verification, but the script can be executed well. After installing TestAdvantage, RFT can capture cell data of UltraGrid when creating verification point, but during script playback phase, RFT failed to recognize many common objects like buttons, so the testing failed. I have tried TestAdvantage with RFT 7.0.1, 7.0.1.2, 7.0.1.2 iFix02 and even 8.0 open beta, all the same results.... Any idea or workaround would be appreciated.
Hi Dan,
TestAdvantage proxies have one-to-one compatibility with the NetAdvantage version that is used to build test application. So If the test Application is built with NetAdvantage 2007 Vol1 then you have to use TestAdvantage 2007 Vol1 to test it.
You mentioned that your application is build with a 2006 version of the grid. Unfortunately the first version of TestAdvantage is the 2007 Vol 1 so in order to be able to use it to test your application you have to be upgrad it to use UltraGrid version 2007 Vol1 or newer.
If you decided to upgrade, contact Infragistics' sales or support to get the appropriate installer that is compatible with the NetAdvantage you are upgrading to.
I hope this was helpful
Ammar
Hi Ammar,
Thanks for your prompt response.
So you mean that upgrading NetAdvantage can solve the problem? In my case, capturing UltraGrid seems okay, but RFT can't recognize some normal window form object such as buttons after TestAdcantage installed. So I doubt upgrading UltraGrid will solve the problem....
Thanks for your help. Now we can record/playback test script on Infragistics objects normally and the performance is much better when using the right version of TestAdvantage.
Now we have two more question:
1. During playback, the drag-and-drop operation on UltraGrid didn't work. It shows ObjectNotFound exception.
2. How to capture certain data of grid and assign the data into a Java variable? With RFT's default funtion, it can capture object properties into a Java variable. But since the RFT function treat the whole grid as an UltraGrid object, it can't capture the cell data.
Thanks for your help.
Hi Dangaho,
The Grid proxy support a number of data verification point that should help you get any piece of data in the grid. To get a list of those VP's try adding a verification point on the grid TestObject. There is another way to get specific data and that is using "GetNAProperty" you can pass in the fully qualified name of the specific property. For example if you want the text displayed in the first cell of the second row use:
GridTestObject().GetNAProperty("Rows[1].Cells[0].Text")
or to get the header text of the third column in the second level band (when having hierarchal data)
GridTestObject().GetNAProperty("DisplayLayout.Bands[1].Columns[2].Header.Caption")
For the other issue you mentioned. What kind of drag and drop action you are trying to replay? Please paste the script action you are trying to replay as well as the full exception detail.
I hope this is helpful
It worked. Thanks a lot for your helpful information. Do you have any API document like JavaDoc? Then it will be easier for test developer to find specific method to use.
Regarding the drag and drop action. We were trying to record the operation of drag a colomn header(for example: gender) to a special row, then UltraGrid will do the grouping by the colomn header values (for example: male, female, etc) During playback, RFT stoped at the drag action because it can't find the object to act.... BTW, I tried click action on colomn headers and it worked.
The test was done in customer's environment and we forgot to bring back the script and test log. I'll give them to you asap if you can't identify the question according to the information I gave.
Good to hear that my code helped you. Unfortunately there is no JavaDoc API but the API reference section in the installed help applies to both java and VB scripting.
For the drag action, I'll need to look at the script line that throws the error. It could be an issue in finding the target of the drag action -he "special row"- you can try record a click action on that row (when you are dropping the column header) and see if that can be replayed properly. There is another reason for the error and that is that both the source of the drag and the destination can not fit in the control area without scrolling. TestAdvantage proxy does try to handle this situation but I know of a couple of failed cases due to the complexity of starting a drag then scroll the target after the drag action started. The best way to work on this specific issue is to contact our developer support engineer with a sample that we can use to reproduce the issue so we can try to fix it.
This is the script line throws the error, // Drag table_apuseR_ROWSEQAPUSER_USER().dragToScreenPoint( atCell( atRow("APUSER_USERID"), atColumn(atIndex(2))), table_apuseR_USERPW().getScreenPoint(atCell( atRow(atIndex(0)), atColumn(atIndex(0)))));
RFT playback monitor will wait at "table_apuseR_USERPW().getScreenPoint", and finally complains it can't find Table (Object not found exception)
I tried a similar drag action on one of my test application and it seems to be replaying with no issues:
UltraGrid1Table().DragToScreenPoint( _ AtCell(AtRow(AtIndex(0)), AtColumn("Address")), _ DisplayGridTable().GetScreenPoint(AtCell( _ AtRow( _ "Value", "Fax"), _ AtColumn(AtText("Visible")))))
The error you are coming across might be because of the way you are identifying the cell on the target grid (table_apuseR_USERPW)
Try recording a click on the cell you plan to drop over then copy the subitem as it got recorded and pass it as the sub item to getScreenPoint method.
I hope that will help.