I am intending doing some automated testing of a Java app. My question is, can anyone recommend a tool that I amy use for this? I have tried Robot(only briefly) and it looks like it uses specific screen co-ords to determine where to click. This is not what I am looking for as the screens might change and therefore require constant maintenance.
Is there anything else recommended, or can Robot be configured to use the actual Java objects for the co-ords. Also would I be able to extract the dynamic data contained within a table?
I don't know about Robot, but Silk can certainly do some stuff, along with Mercury. But once you obfuscate, everything will break. In order for you to get stuff working with obfuscation, you will have to write some code to extract the object's handles. This is a lot of work, and it won't be an easy 'record and play' type of automation in the end.
qftestJUI is Java only and does test Swing applications. Its main aim is adaptabity, so it does not rely on screen coordinates, but uses the actual Java objects. If used right, the tests will survive obfuscation.
And yes, you can extract table data, manipulate tree nodes, etc.
RobotJ is what I use, I have found it to work with almost all the Swing components in our Java app. It does not work well with the JTree control, but everything else has worked so far. And there are ways around the JTree control problem (Just have to use some keyboard navigation)
I tried WinRunner with the Java plug in, and was NOT at all happy with it. In fact it did not work at all with half the controls in the app.
Dont take my word for it, send Rational an email and ask for an eval of TeamTest. Then send Mercury an email and ask for an eval of WinRunner with Java Plug in. Then see for yourself who's tool can handle your app the best.