Difference between revisions of "GUI Capture"

(Low Level Hooks)
 
(2 intermediate revisions by one other user not shown)
Line 11: Line 11:
 
===Low Level Hooks===
 
===Low Level Hooks===
  
On Windwos it is possible to capture low level window events. Through these it is possible for a capturing tool to launch the AUT and then install a hook to receive all input events. This should also be the case for Unix although it is not checked yet.
+
On Windows it is possible to capture low level window events. Through these it is possible for a capturing tool to launch the AUT and then install a hook to receive all input events. This should also be the case for Unix although it is not checked yet.
  
 
;Pro
 
;Pro
Line 22: Line 22:
 
===Eiffel Level Hooks===
 
===Eiffel Level Hooks===
  
For Vision2 we could implement a ''capturing mode''. When this mode is activated, all events - including focus-chaning events or other higher level events - could be exported to a file. The implementation would mainly be done in the underlying toolkit (WEL and GTK implementation).
+
For Vision2 we could implement a ''capturing mode''. When this mode is activated, all events - including higher level events if needed - could be exported to a file. The implementation would mainly be done in the underlying toolkit (WEL and GTK implementation).
  
 
;Pro
 
;Pro
Line 33: Line 33:
 
==Sidenote==
 
==Sidenote==
  
If event capturing is implemented into Vision2 it could be used to generate bug reports for EiffelStudio from users by sending in their event sequence. Of course it remains to check how large an event sequence gets after some time of using EiffelStudio.
+
If event capturing is implemented into Vision2 it could be used to generate bug reports for EiffelStudio by sending in their event sequence which led to the problem. Of course it remains to check how large an event sequence gets after some time of using EiffelStudio.

Latest revision as of 13:31, 14 February 2011


Overview

During the recording of a test case, all events of the AUT are recorded for later replay.

Approaches

There are different approaches for capturing GUI events:

Low Level Hooks

On Windows it is possible to capture low level window events. Through these it is possible for a capturing tool to launch the AUT and then install a hook to receive all input events. This should also be the case for Unix although it is not checked yet.

Pro
  • Capturing tool and AUT are separate
  • Can capture events from any application
Contra
  • Only receive low level events. No information about focus-changing for example.
  • Unclear how to receive additional information about AUT like current active widget or widget name of clicked widgets

Eiffel Level Hooks

For Vision2 we could implement a capturing mode. When this mode is activated, all events - including higher level events if needed - could be exported to a file. The implementation would mainly be done in the underlying toolkit (WEL and GTK implementation).

Pro
  • Capturing of all events
  • Additional information is available (e.g. widget name)
Contra
  • Event recording and its activation is part of the AUT
  • Only Vision2 can be captured

Sidenote

If event capturing is implemented into Vision2 it could be used to generate bug reports for EiffelStudio by sending in their event sequence which led to the problem. Of course it remains to check how large an event sequence gets after some time of using EiffelStudio.