We have great news to all Testdroid users out there: Testdroid Recorder 4.0 is out and it is better than ever!
As you may have noticed it took us 2 months (instead of our normal 2 weeks) to develop this version and there is a really good reason for it as we did a total overhaul to the recorder core to improve performance during recording (which was sometimes really slow) but as a byproduct of this fundamental change in the recording logic came several other significant improvements as well.
We had been looking for ways to improve performance during recording for a long time because, especially on applications with a lot of UI widgets, our current approach slowed down the recording to the point that started creating frustration among our users. About 2 months ago we came up with a totally new way to implement the recording logic and part of our Recorder team started to work separately on prototyping (to prove that the idea might work) and, after really successful prototype, started reimplementing the core recording logic from scratch. A total revamp was needed because a significant improvement in performance was based on completely new approach in recording logic and redesign core architecture. After 2 months of hard work we are able to present the best Testdroid Recorder ever, which is now about five times faster!
Changing architecture and reimplementing core recording logic improved also UI widget recognition. Now if there are no id or text on a widget we recognize it by index(applies to all clickable views) – so there will be no more x,y clicks for any clickable UI widgets. Now Recorder is also able to obtain r.id’s for UI widgets even if the apk that is used for recording is obfuscated which is also a big improvement in recording accuracy as more and more applications use proGuard and using r.id’s is the best way to create robust and scalable test scripts.
To improve the readability of the generated Java code we decided to add a bunch of simple methods to our extSolo library that enable us to generate much more concise and readable test scripts. For instance we recorded commands like waitForButton, waitForImage, but in generated code there was waitForView with complex arguments to obtain each widget. Now the generated source code looks more like one-to-one copy of the steps in recording window.
You can update to the new version directly from Eclipse (About Eclipse -> Installation Details, selecting Testdroid Recorder and clicking Update)