Wednesday, September 22, 2010

Hudson X11 Automated GUI Testing

Hudson X11 Automated Testing - To run GUI automated test in Hudson environment. Ara Pulido, demonstrated me, how to setup Hudson and to run some Mago test. The tests were failing, as the ldtp daemon failed to load. When I started poking, I found, the tests can run only in console mode. We need to start a X session, then need to start the test. Even, after this, the tests were failing. Setting DISPLAY doesn't help ! Accessing accessibility service from terminal failed, as AT_SPI_IOR not set from the terminal.

To overcome, this issue, implemented a service and a client, the service runs during the gnome-session startup.

The service (UNIX socket) listens for commands from client, once received execute them in the shell and returns back both stdout and stderr. Just one command per request, not to make things complicated ;-)

During the test, X session will be started with Xvfb, need to evaluate X dummy driver instead. Accessibility, should be enabled and gnome screen saver, should be disabled, before starting the test. Requirement for LDTP tests.

More about this, available here (documented by Ara) and here, also FAQ

Note: Currently tested with GNOME Desktop on Ubuntu Linux using Mago and LDTP from GIT head

Special thanks to Ara Pulido (Ubuntu), Brian Nitz (Sun / Oracle) and Tyller Ballance (Hudson team)

Friday, March 26, 2010

Announce: Linux Desktop Testing Project (LDTP) 2.0.4 released

Changes in this release:

LDTPv2 hang in Ubuntu 10.04 is fixed
Don't navigate table cell, as it causes more resource and time in OpenOffice calc
Added new API simulatemousemove for DnD test (VMware Workstation / Player Unity-GHI feature)
Patch by Ara Pulido for b.g.o bug # 612311
Listen all Window events, else new application like Firefox is not listed
waittillguiexist now can wait for state as well
hasstate can wait for given time till the state is True

Special thanks to Eitan Isaacson [1], Ara Pulido [2], James Tatum [3], Anupa Kamath [VMware, India], Slava Podokshik [VMware, USA]

Download source:
http://download.freedesktop.org/ldtp/2.x/2.0.x/ldtp-2.0.4.tar.gz

Download RPM from
http://download.opensuse.org/repositories/home:/anagappan:/ldtp2:/rpm/
Will schedule deb build in openSUSE build service tomorrow

For detailed information on LDTP framework and latest updates visit http://ldtp.freedesktop.org

For information on various APIs in LDTP including those added for this release can be got from http://ldtp.freedesktop.org/user-doc/index.html

Report bugs - http://ldtp.freedesktop.org/wiki/Bugs

IRC Channel - #ldtp on irc.freenode.net

[1] - http://monotonous.org/
[2] - http://ubuntutesting.wordpress.com/
[3] - https://launchpad.net/~jtatum

Wednesday, January 27, 2010

Announce: Linux Desktop Testing Project (LDTP) 2.0.2 released

Hello,

About LDTP:

Linux Desktop Testing Project is aimed at producing high quality test automation framework (using GNOME / Python) and cutting-edge tools that can be used to test Linux Desktop and improve it. It uses the Accessibility libraries to poke through the application's user interface. We strive to help in building a quality desktop.

Changes in this release:

Fixed ldtp binary name and now it spits out the version info
Updated README and AUTHORS file
Fixed OpenSolaris bug reported by Qinghua Cheng

Acknowledgement:

Ara Pulido[1] requested the above change for backward compatibility. Thanks to Ara, Conny.

Download RPM from http://download.opensuse.org/repositories/home:/anagappan:/ldtp2:/rpm
Will schedule deb build tomorrow

Download source http://download.freedesktop.org/ldtp/2.x/2.0.x/ldtp-2.0.2.tar.gz

Documentation references:

For detailed information on LDTP framework and latest updates visit http://ldtp.freedesktop.org

For information on various APIs in LDTP including those added for this release can be got from http://ldtp.freedesktop.org/user-doc/index.html

Report bugs - http://ldtp.freedesktop.org/wiki/Bugs

To subscribe to LDTP mailing lists, visit http://ldtp.freedesktop.org/wiki/Mailing_20list

IRC Channel - #ldtp on irc.freenode.net

Thanks
Nagappan

[1] - http://ubuntutesting.wordpress.com/

Tuesday, January 19, 2010

Announce: Linux Desktop Testing Project (LDTP) 2.0.1 released

Hello all,

LDTPv2 a complete rewrite of LDTPv1 in Python. This release is dedicated to Eitan Isaacson[1]. Eitan wrote the LDTPv2 framework and important API's in LDTPv2 !

My co-workers in VMware Ranjith Murugan, Gaurav Sharma and Anupa Kamath, did a wonderful job in verifying the compatibility of LDTPv1 and v2. Special thanks to them and my manager Greg McShea on supporting this effort.

Special thanks to Ara Pulido[2] for tracking the LDTPv2 status and pushing us to make the release at the earliest, as Ara wants to include LDTPv2 in Ubuntu Lucid, before feature freeze.

Following are the difference between LDTPv1 and v2:

* getlabel function is deprecated - you can use getobjectproperty('winodw', 'objectname', 'label') # To verify the display text
* Label in v2 doesn't return the accelerator key (eg: in v1 "_Find" will be returned on v2 just "Find" is returned)
* Strict data types are checked, in v1 most of the inputs are considered as string, if not they will be converted to string, but on v2 exception will be
thrown, if incorrect type is passed to any function * In v1 we have ldtp binary, on v2 we need to check ldtpd.sh for now, this doesn't return the version for now, it has to be implemented, if you check for "ldtp --version" in v1
* In v1 each action command was given 1 second sleep time internally before execution, but on v2 there is no delay unless its set in environment variable LDTP_COMMAND_DELAY. So, the script has to use appropriate wait time
* As Javier (from Ubuntu QA team) found, launchapp, argument name changed from 'arg' to 'args'

Some of missing API in v2:

* Calendar object
* logFailures in v1 is not implemented in v2
* LDTP logging methods
* appundertest
* launchapp2
* blackoutregion
* label object
* panel object
* ProcessStatistics

LTFX is completely removed in LDTP v2 in favor of wnck implmentation

Download LDTPv2 source from http://download.freedesktop.org/ldtp/2.x/2.0.x/ldtp2-2.0.1.tar.gz

New dependency:

python-twisted-web
python-pyatspi
python-gtk
python-gnome

Will schedule binary package building for different Linux distribution using openSUSE Build Service - http://download.opensuse.org/repositories/home:/anagappan:/ldtp2:/

Documentation references:

For detailed information on LDTP framework and latest updates visit http://ldtp.freedesktop.org

For information on various APIs in LDTP including those added for this release can be got from http://ldtp.freedesktop.org/user-doc/index.html

Report bugs - http://ldtp.freedesktop.org/wiki/Bugs

To subscribe to LDTP mailing lists, visit http://ldtp.freedesktop.org/wiki/Mailing_20list

IRC Channel - #ldtp on irc.freenode.net

Thanks
Nagappan

[1] - http://monotonous.org/
[2] - http://ubuntutesting.wordpress.com/