Computer Working By Itself, Beautiful, Isn't It? Roman Parparov, Bolet Consulting
Why? To test your GUI (and WUI) To import the data To make a movie/demo
The Tools X11::GUITest X11::GUITest::record X11::protocol X11 utilities XTest extension enabled.
Testing Application Complete layout control Debug Mode for your widgets Log output and catch it Use cut-and-paste
Testing WUI Partial layout control Gtk/Gdk diagnostic tools Parse the source! Cut and paste again
Importing Data Try to determine the toolkit! X11 basic utilities: xwininfo xlsatoms xprop xset q xdpyinfo
Importing Data (II) Try attaching a query agent X11::Protocol – low level access Reverse engineering... X11::GUITest::record xev (ugh) Application rip
Making a Movie/Demo Run the recording session Using X11::GUITest::record Using xev Convert it to X11::GUITest script Set timings between calls Optimize trajectories
X11::GUITest Overview Consistent style and documentation Launching the Application StartApp WaitWindow* Getting information GetMousePos GetWindowFromPoint GetChildWindows
X11::GUITest Overview (II) Input functions *InputFocus *MouseButton *Key SendKeyStroke Window management Move/ResizeWindow Raise/LowerWindow
Caveats Window manager/Desktop Environment Window focus/control Key delays, freezes Selection buffers PRIMARY vs. CUT_BUFFERN Toolkit clipboards
Other Platforms MS Windows: Win32::GUITest OS/X: X11? (N)Curses: No real widgets
Thank You