13
Computer Working By Itself, Beautiful, Isn't It? Roman Parparov, Bolet Consulting

Computer Working By Itself, Beautiful, Isn't It?

Embed Size (px)

DESCRIPTION

Roman Parparov, Bolet Consulting. Computer Working By Itself, Beautiful, Isn't It?. 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. - PowerPoint PPT Presentation

Citation preview

Page 1: Computer Working By Itself, Beautiful, Isn't It?

Computer Working By Itself, Beautiful, Isn't It?

Roman Parparov, Bolet Consulting

Page 2: Computer Working By Itself, Beautiful, Isn't It?

Why?

To test your GUI (and WUI)

To import the data

To make a movie/demo

Page 3: Computer Working By Itself, Beautiful, Isn't It?

The Tools

X11::GUITest X11::GUITest::record X11::protocol X11 utilities XTest extension enabled.

Page 4: Computer Working By Itself, Beautiful, Isn't It?

Testing Application

Complete layout control Debug Mode for your widgets Log output and catch it Use cut-and-paste

Page 5: Computer Working By Itself, Beautiful, Isn't It?

Testing WUI

Partial layout control Gtk/Gdk diagnostic tools Parse the source! Cut and paste again

Page 6: Computer Working By Itself, Beautiful, Isn't It?

Importing Data

Try to determine the toolkit! X11 basic utilities:

xwininfo xlsatoms xprop xset q xdpyinfo

Page 7: Computer Working By Itself, Beautiful, Isn't It?

Importing Data (II)

Try attaching a query agent X11::Protocol – low level access Reverse engineering...

X11::GUITest::record xev (ugh)

Application rip

Page 8: Computer Working By Itself, Beautiful, Isn't It?

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

Page 9: Computer Working By Itself, Beautiful, Isn't It?

X11::GUITest Overview

Consistent style and documentation Launching the Application

StartApp WaitWindow*

Getting information GetMousePos GetWindowFromPoint GetChildWindows

Page 10: Computer Working By Itself, Beautiful, Isn't It?

X11::GUITest Overview (II)

Input functions *InputFocus *MouseButton *Key SendKeyStroke

Window management Move/ResizeWindow Raise/LowerWindow

Page 11: Computer Working By Itself, Beautiful, Isn't It?

Caveats

Window manager/Desktop Environment Window focus/control Key delays, freezes Selection buffers

PRIMARY vs. CUT_BUFFERN Toolkit clipboards

Page 12: Computer Working By Itself, Beautiful, Isn't It?

Other Platforms

MS Windows: Win32::GUITest

OS/X: X11?

(N)Curses: No real widgets

Page 13: Computer Working By Itself, Beautiful, Isn't It?

Thank You