X Window system toolkit: the complete programmer's guide and specification
X Window system toolkit: the complete programmer's guide and specification
Tcl and the Tk toolkit
Pad++: a zooming graphical interface for exploring alternate interface physics
UIST '94 Proceedings of the 7th annual ACM symposium on User interface software and technology
Access to graphical interfaces for blind users
interactions
Exploring Expect
Human-Computer Interaction
Re-configurable distributed scripting
ACM Computing Surveys (CSUR)
Internet-based desktops in Tcl/Tk: collaborative and recordable
TCLTK'98 Proceedings of the 6th conference on Annual Tcl/Tk Workshop, 1998 - Volume 6
TCLTK'98 Proceedings of the 6th conference on Annual Tcl/Tk Workshop, 1998 - Volume 6
Execution context optimization for disk energy
CASES '08 Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems
Hi-index | 0.00 |
Record and replay of user interactions with a GUI are useful for regression testing and demonstrations. Recording is implemented by intercepting each user action at some point in its processing and saving it in a script file. During replay, the script is read and the user actions (or their effects) are emulated. In X windows, one program can intercept user input events before they get to another program by putting a wrapper around the program. This level of recording is sensitive to changes in window position, fonts, etc. Recording events at the widget level is more robust and closer to the semantics of the program than recording at the X event level. The TkReplay program does this for the Tk toolkit. A number of factors have to be considered when implementing record and replay and these are discussed in the paper. Recording is implemented in Tk by modifying each binding to call a recording program. TkReplay operates as a separate program and uses send to communicate with the Tk program being recorded. Hooks have recently been added to the X toolkit to allow implementation of record and replay at the Xt widget level.