60 lines
2.9 KiB
Plaintext
60 lines
2.9 KiB
Plaintext
|
-------------------------------------------------------------------------------
|
||
|
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.
|