On behalf of Jean-Baptiste Lallement:
We are pleased to announce the new development release of Mago.
This release has seen a lot of changes and improvements to make Linux
automated desktop testing easier and enable more people to contribute
writing tests and aiming to high quality desktop applications.
Key features included in this version:
- Separation between the framework and the tests
- Support for standard gnome dialogs and authentication
- Easy configuration of the tests with configuration files
- Support for the latest version of LDTP
- Direct interaction with Window Manager via XLib
- Image matching testing with XPresser
- Easy and flexible collect and run with Nose
- Testtools to extend python unittest
- The documentation now uses Sphinx
- Magomatic to generate application map
You want to contribute to the effort?
You can download the source from bazaar at https://launchpad.net/mago
The testsuite is available from lp:~mago-contributors/mago/mago-testsuite
Note that this version is not compatible with the previous version of
mago which is still available from lp:~mago-contributors/mago/mago-1.0
Mailing List:
http://mail.gnome.org/mailman/listinfo/desktop-testing-list
IRC:
#ubuntu-testing in irc.freenode.org
#gnome-testing in irc.gnome.org
Thanks to all the people who contributed fixes, features and lot of tests.
Wednesday, January 26, 2011
Announce: Linux Desktop Testing Project (LDTP) 2.1.0 released
Changes in this release:
Added documentation files from LDTPv1 and updated accordingly
Search object name as unicode character and mutliline
Print Unicode exception, instead of string. Printing string fails, if non-ascii strings are in exception string
Performance improvement:
When looking for object inside a window without any delay, utilize all the CPU, just delay the lookup every 2 seconds
Don't force remap on gechild, getobjectlist, getobjectproperty, unless the window object is changed, as this utilizes more CPU
New API:
getmax - Get max value of spin button
getmin - Get min value of spin button
startlog - Start logging to file
stoplog - Stop logging to file
startprocessmonitor - Start monitoring the given process
stopprocessmonitor - Stop monitoring the given process
getcpustat - Get the current CPU statistics of the given process
getmemorystat - Get the current memory statistics of the given process
registerkbevent - Register keyboard event
deregisterkbevent - De-Register keyboard event
getobjectnameatcoords - Get window / object name in LDTP format based on the current mouse co-ordinates
Bugs fixed:
619575: Raise a more descriptive error when a child is not found
620343: setcellvalue is not implemented in LDTP2
624690: LDTP2.0.6 cannot type comma ', ' use function 'enterstring'
624678: Cannot identifiy some dialogs of OpenOffice3.2
635047: 'comboselect' doesn't work when specify component name listed in 'getobjectlist'
638229 - onwindowcreate fails with CannotSendRequest with python2.7
638226 - Missing import socket in ldtp/__init__.py
Special thanks:
Ara Pulido, JB Lallement - Ubuntu Mago team
Eitan Isaacson
Brian Nitz - Oracle / Sun
Download source
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)
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
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/
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/
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/
Saturday, October 3, 2009
Call for LDTPv2 (Linux Desktop Testing Project) testing
We are in the process of migrating all our existing LDTP API based on CSPI (LDTPv1) to pyatspi (LDTPv2).
LDTPv2 framework was written by "Eitan Isaacson". Thanks to eeejay :)
In VMware, we have tested the LDTPv2 API's. Thanks to Ranjith Murugan, Gaurav Sharma, Anupa Kamath for verifying them.
I'm sure still there are some pending API's which has to implemented or some API's which are not compatible with LDTPv1 in LDTPv2. I request to all the users, to verify LDTPv2 in their test environment and report any issues you found. We have tested on Ubuntu 9.04 with Python 2.6. It will be nice, if you could test it on Python 2.4 / 2.5 / 3.0 as well.
New LDTPv2 dependency - twisted-python-web package.
Access LDTPv2 source through git: git://anongit.freedesktop.org/ldtp/ldtp2 or ssh://git.freedesktop.org/git/ldtp/ldtp2 or http://anongit.freedesktop.org/git/ldtp/ldtp2.git
Browse the LDTPv2 source online - http://cgit.freedesktop.org/ldtp/ldtp2/tree/
LDTPv2 framework was written by "Eitan Isaacson". Thanks to eeejay :)
In VMware, we have tested the LDTPv2 API's. Thanks to Ranjith Murugan, Gaurav Sharma, Anupa Kamath for verifying them.
I'm sure still there are some pending API's which has to implemented or some API's which are not compatible with LDTPv1 in LDTPv2. I request to all the users, to verify LDTPv2 in their test environment and report any issues you found. We have tested on Ubuntu 9.04 with Python 2.6. It will be nice, if you could test it on Python 2.4 / 2.5 / 3.0 as well.
New LDTPv2 dependency - twisted-python-web package.
Access LDTPv2 source through git: git://anongit.freedesktop.org/ldtp/ldtp2 or ssh://git.freedesktop.org/git/ldtp/ldtp2 or http://anongit.freedesktop.org/git/ldtp/ldtp2.git
Browse the LDTPv2 source online - http://cgit.freedesktop.org/ldtp/ldtp2/tree/
Subscribe to:
Posts (Atom)