------------------------------------------------------------------------------- dojox.robot.recorder ------------------------------------------------------------------------------- Version 0.1 Release date: 2008-07-30 ------------------------------------------------------------------------------- Project state: experimental ------------------------------------------------------------------------------- Project authors Mark Hays ------------------------------------------------------------------------------- Project description Writing automated test cases takes time, and DOH is no exception. You have to look up element ids, invent dojo.queries for elements with no id, figure out exactly how many pixels to move the mouse . . . the list goes on. This recorder module enables DOH test case writers to create complete DOH test scripts directly from their actions and input on a Web page. Simply drop the generated code into your test page, set a pass condition, and the test will repeat your actions. ------------------------------------------------------------------------------- Dependencies: dojo ------------------------------------------------------------------------------- Documentation See installation instructions below to prepare a test page for recording. To record a test, click in an area of the document with no dojo.stopEvents and press CTRL-ALT-ENTER in the main window. You will get a verification alert when you successfully start the recorder. Then you can interact with the Web page and the recorder will monitor your actions. It's usually good to record one test per widget instance per type of interaction (keyboard vs mouse for instance) you are testing. After you finish interacting with the Web page, click out of any dojo.stopEvents and press CTRL-ALT-ENTER again. You will see a box containing the generated source code for your recording. Copy this into a dojo.addOnLoad on the same page to register the test with DOH. Replace the /*Your condition here*/ text with a JS condition that indicates that the test passed. Again, having multiple small tests will help you keep the condition small. Add a doh.run() call after you register all of your tests to make them execute when you load the page. ------------------------------------------------------------------------------- Installation instructions To ready the recorder for a particular page, add this line to your dojo.requires: dojo.require("dojox.robot.recorder"); You can safely remove this line after you are finished recording your tests. ------------------------------------------------------------------------------- Additional Notes Known limitations: - Content in an iframe might not report events to the recorder. - keyDown/keyUp events are supported by DOH, but not by the recorder. If you hold a key down, it will generate lots of keyPress events instead. Simply change these to one keyDown call yourself.