Testing automation and Toolkit


I’ve done some performance testing of our software, which has Toolkit 5.0 generated UI. I noticed quite soon that the tests that I recorded with JMeter’s proxy don’t work, i.e. requests don’t go where they should. After some debugging of the CommunicationManager I noticed the IdToPaintableMaps and that the component Ids used in the Ajax communication change between sessions.

Now to the question: Should I use setDebugId methods to give unique identifiers to all the components I use (at least those used in the tests == pretty much all) or is there any other way to keep the Ids unique? To me it seems that this is the only way.



They shouldn’t change between sessions, but they do change if you reload the page. You should almost always use “?restartApplication” parameter for the application to make sure that the automatic numbering of PIDs starts from 1. Well, unless you want to continue from a previous test.

Using setDebugId() is the most certain way to keep the Ids unique, but it should not be that necessary to use it for all components.

The IdToPaintableMap used to be type HashSet, which caused the slight randomness in the ID generation. But this is issue is now resolved in the newer nightly builds, which I recommend that you use for now.

A proper release will be available shortly, too.