[Testing] Automated testing, OLPC, code+screencasts.
Charles Merriam
charles.merriam at gmail.com
Thu Mar 27 15:28:25 EDT 2008
I just glanced at DogTail:
+ GUI testing written in Python
+ Allows some querying/setting of actual fields.
- Not maintained for past couple years
- Most documentation and examples missing
- Test cases appear verbose, but hard to tell with all examples missing.
- Testing uses 'tree' approach requiring manaully setting focus and such.
- Relies on all sorts of stuff, including the disability libraries and
CORBA of all things to send messages.
Here's a good document:
http://www.redhat.com/magazine/020jun06/features/dogtail/
Here's a sample test script:
# Focus gedit's text buffer.
25 focus.text()
26
27 # Load the UTF-8 demo file. Use codecs.open() instead of open().
28 from codecs import open
29 from sys import path
30 utfdemo = open(path[0] + '/data/UTF-8-demo.txt')
31
32 # Load the UTF-8 demo file into the text buffer.
33 focus.widget.text = utfdemo.read()
34
35 # Click gedit's Save button.
36 click('Save')
37
38 # Focus gedit's Save As... dialog
39 focus.dialog('Save as...')
40
41 # click the Browse for other folders widget
42 activate('Browse for other folders')
43
44 # Click the Desktop widget
45 activate('Desktop', roleName = 'table cell')
Overall, DogTail spends most of its effort getting around the PyGTK
limitations about exposing the entire tree. It uses the accessibility
UI as a substitute for having an API into PyGTK. Most of the test
script is mucking around getting focus, etc.
Anyone actually use DogTail still?
Charles
On Thu, Mar 27, 2008 at 5:55 AM, Chris Ball <cjb at laptop.org> wrote:
> Hi Charles,
>
>
> > Consider adding it the the GObject functions. Call a new
> > gobject.dump_main_context() and get a huge Python data structure
> > back.
>
> You're describing at-spi¹, which is an accessibility framework that
> provides introspection on GUI widgets. There's an existing GUI test
> framework called Dogtail², written in Python, that uses the widget data
> from at-spi in order to allow easy addressing of widgets for writing
> GUI tests for GTK apps.
>
> It would be a great project for someone to look into what it takes
> to get Dogtail working on the XO. It has some gnarly dependencies
> (bonobo, corba..) but there wouldn't be a need to put them in every
> build, just builds that we want to run a test harness against.
>
> Thanks,
>
> - Chris.
>
> ¹: http://developer.gnome.org/projects/gap/
> ²: http://people.redhat.com/zcerza/dogtail/
> --
> Chris Ball <cjb at laptop.org>
>
More information about the Devel
mailing list