I'm doing some work on the GUI map here before starting some new suites and I've hit what seems to be a really silly but major problem.
Part of our app is a web console that contains a table down the left column. This acts like a tree view and has been implemented using tables and I assume the "visible" HTML attribute. Pretty common stuff, it essentially emulates a Windows Explorer tree view.
When XDE learns the objects, they get saved using only the classindex value as the differential between them. Now, when you run through the test, the index changes as you expand and collapse the tree.
So, that's what the Test Object Map is for, right? Nope, I can't seem to get it to work properly. I have gone through all of the objects in the list (fortunately the contents are static, only the presentation changes) and given them sensible names, removed the classindex recognition property (replacing with .text) and everything seems fine. The objects can be highlighted properly despite the state of the list, and things run fine.
The problem is in recording however. XDE simply does not recognize the objects as already being in the map. What you end up with is a whole set of new objects with useless names and classindex switching. The script then has to be hand edited to replace them with the correct ones, which is almost impossible as you have to look up references to the object in the script and figure out which "classindex" it was actually clicking on at that point in the test. And that doesn't neccessarilly mean that later references to the same XDE object are interacting with the same one when the order has changed. Completely useless!!
Any ideas? My only solution I can think of is to record the script but pause and manually add these clicks as and when appropriate. That seems like a complete time sponge, and if anyone has any alternate suggestions, I'm all ears!! I've done all this with out problems before with XRunner (yuck!), so XDE must be able to do it!
Also, while I'm on the subject, what's the deal with the merge objects functionality? Does this work, or is it borked? When I try it (as a solution to the above) I can't get past pressing "next"; it busies for a few secs then comes back with nothing changed. Subsequent presses of the button does nothing. "finish" is greyed out.