There isnt a whole lot of free and good tools for that purpose. The android tool is nice as it allows to record a session, start the program, record interactions, compare the screenshot, and exit. Unfortunately the components are very old and unsuitable - xscope is too limited and cant deal with OpenGL? windows properly. |
There isnt a whole lot of free and good tools for that purpose. The android tool is nice as it allows to record a session, start the program, record interactions, compare the screenshot, and exit. Unfortunately the components are very old and unsuitable - xscope is too limited and cant deal with OpenGL? windows properly. It is a proxy sitting between X server and application; if it cant relay events the application fails. Since it is a proxy it doesnt see window manager events as well. |
Nowadays tools mostly work directly with the X server through the XTEST and record extensions. Some also use ATSPI, which I didnt get to work on ubuntu (http://en.wikipedia.org/wiki/Assistive_Technology_Service_Provider_Interface). |
Nowadays tools mostly work directly with the X server through the XTEST and record extensions, and the application connects directly to the X server as usual; the XTEST and record extensions allow recording and inserting of X events. Some tools also use ATSPI, which I didnt get to work on ubuntu (http://en.wikipedia.org/wiki/Assistive_Technology_Service_Provider_Interface). |
Those could be glued together like so (this is theory - I dont have tried the full flow): |
Those could be glued together like so (this is theory - I didnt try the full flow): |
Xnee can record and playback touchy and axis sessions. |
Xnee can record and playback touchy and axis sessions. This records the first 3000 events (just move the mouse until cnee stops) |
env DISPLAY=:0 cnee --record --events-to-record 3000 --mouse --keyboard -o /tmp/axis6.xns env DISPLAY=:0 cnee --no-synchronise --replay --file /tmp/axis6.xns |
env DISPLAY=:0 cnee --record --events-to-record 3000 --mouse --keyboard -o /tmp/axis.xns This replays the session - application must be in exactly same starting state (buttons etc): env DISPLAY=:0 cnee --no-synchronise --replay --file /tmp/axis.xns |
- android: see http://drdobbs.com/tools/184404691 and http://web.archive.org/web/20040604025740/http://www.wildopensource.com/larry-projects/android.html can record a Touchy (gtk) session. Cannot record an Axis session (probably OpenGL? related - loops with a PutImage? request). very limited - uses a proxy between client and server, which fails to record/playback window manager events |
The output is terminally ugly and missing detail, can maybe improved with proper Xvfb options |
|
- android: see http://drdobbs.com/tools/184404691 and http://web.archive.org/web/20040604025740/http://www.wildopensource.com/larry-projects/android.html can record a Touchy (gtk) session. Cannot record an Axis session (probably OpenGL? related - loops with a PutImage? request). very limited - uses a proxy between client and server, which fails to record/playback window manager events |
Other related utilities* xmacro: http://xmacro.sourceforge.net/ |