Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Renamed WinLDTP project as Cobra


Cobra can be used to test GUI applications on Windows platform with the same API set as Linux Desktop Testing Project.

During our testing at VMware it works on Windows XP SP3 / Windows 7 SP1 / Windows 8 development version with Python >= 2.5.

Features supported:

* Most of the widget types are supported and respective actions are supported
* i18n tests can be executed
* CPU / Memory of any application can be monitored

the avatar of Pascal Bleser

Packman haz buttcrackerz

Bugtracker! I meant to say "bugtracker", I swear!

So, the oh so popular and useful Packman project finally has a proper bugtracker, how awesome is that? Yes, truckloads of awesome. More seriously, it was about time and I finally just decided to do it.

From now on, please use our bugtracker to submit bugs, package requests, etc..., rather than using the mailing-list, although the latter is still fine for discussions and such, obviously.

Using a bugtracker will make it a lot easier for everyone to keep up with what needs to be done, for the packagers to pick things to do when they're bored (hah! right... I had to look up that word in the dictionary), and to make it clear once more that we definitely need more packagers to join and help out.

One needs to create a user account to be able to file a bug/request, but that's quick and doesn't involve any pain. We cannot use openSUSE accounts (as on .opensuse.org), sadly.

In case you didn't notice from the links above, the URL of the Packman bugtracker is https://bugs.links2linux.org.

the avatar of Klaas Freitag

ownCloud Client 1.0.1

This week we prepared another ownCloud sync client (oCC) release for you. oCC is released together with csync 0.50.5, the underlying library on which shoulders oCC stands. Find packages for your distribution.

ownCloud LogoOnly a couple of weeks after the first release we could come up with a quite long changelog, larger than for a maintainance release.

First and foremost, oCC now supports SSL connections and does not store passwords any more, well, in clear text in a config file. Still there is no strong encryption for the password in (as that’s a non trivial if not impossible thing) but its not clear text any more, so accidents should not longer happen. For those who really care and put security over convenience there now is the option to not store the password at all but provide it at startup. The whole password storage will get more attention soon, I did some work on that already, also using kwallet, more on that in another post.

The whole start process of oCC, which is more complex as it might seem as libcsync expects a nice environment with a verified connection to the ownCloud, was cleaned and matured. I had to learn about QNAM but now we seem to be friends.

Efforts also went into the following areas:

  • Error handling: People got confused about error messages from oCC which were not accurate here and than. I added more fine granular error reporting to libcsync so that oCC now can give even more helpful error messages.
  • MacOSX: On the sprint weekend in Stuttgart, we made good progress on that platform, will also soon get a release. Domme got the most out of cmake to get dmg image building going, thanks, you rock!
  • Qt 4.6: As usual one has to learn that current distributions ship not so current Qt versions. Thanks to Thomas, he put quite some effort in porting back to Qt 4.6 - so that Debians friends can also use oCC now.
  • Packages: Check out the community repo on OBS: We now can provide packages for way more platforms including Ubuntu and Debian. Still your help would be appreciated in maintaining.

Speaking about the recent sprint in Stuttgart: It was great to be there, ownCloud has an open, friendly and welcoming community in which you really feel the spirit of working on something new and interesting with cool potential. I really enjoy being here,. Thanks guys for all your work and feedback :-)

a silhouette of a person's head and shoulders, used as a default avatar
a silhouette of a person's head and shoulders, used as a default avatar

Accepted to GSoC 2012

I got selected for GSoC 2012 to work with OpenSUSE. I will be mentored by Michal Hrusecky and my project involves developing a Karma plugin for OpenSUSE Connect.

This Plugin will reward people with Karma points on reporting bugs, making bug fixes, Wiki entries, posts on OpenSUSE planet, promoting OpenSUSE events on twitter etc. People will also be rewarded with badges on attainment of specific levels of Karma points, and they can also send across positive Karma to others, to show appreciation towards their work.

Have a look at my proposal:http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/priyankam/18002#

This summer will be a great experience with GSoC and OpenSUSE.


a silhouette of a person's head and shoulders, used as a default avatar

Google Summer of Code 2012 - accepted projects for LibreOffice

Google announced today the accepted students for Google Summer of Code 2011.

The students working on LibreOffice will be:

Student Title Mentor
Andrzej Hunt Smartphone remote control for LibreOffice Impress Muthu Subramanian
ArturoPL Tooling - More and better tests Michael Stahl
Brennan Vincent Implementing a Microsoft Publisher import filter for LibreOffice Valek Filippov
Daniel Bankston Calc Performance Improvements Kohei Yoshida
Daniel Korostil Lightproof improvements László Németh
Gökcen Eraslan Signed PDF export Stephan Bergmann
iainb Java GUI for Libre-Office Based Android App(s) Tor Lillqvist
Marco Cecchetti Enhanced Impress svg export filter Thorsten Behrens
Matúš Kukan Telepathy for collaboration Eike Rathke (erAck)
Rafael New templates picking UI Cédric Bosdonnat

Let the summer start immediately and let quality code fall like a spring rain!

a silhouette of a person's head and shoulders, used as a default avatar

Select element in system tray (Windows 7) using WDTP


There was a question from my colleague, how do I select an element from system tray icon in Windows 7 using windtp. I came up with the following code:

from ldtp import *
s=getobjectsize('pane0', 'btnNotificationChevron')
generatemouseevent(s[0] + s[2]/2, s[1] + s[3]/2, 'b1c')
wait(2)
s1=getobjectsize('paneNotificationOverflow', 'btnMcAffee*')
generatemouseevent(s1[0] + s1[2]/2, s1[1] + s1[3]/2, 'b3c')
wait(2)
getobjectlist('mnuContext')
selectmenuitem('mnuContext', 'mnuVirusScanConsole')

He asked me how do get to identify these objects, when I use UI Automation Verify, I could not identify the object as the icon in sys tray disappears after I select something in the tool.

I explained him this what I did to find the object in a python prompt:

First used getojbectlist('pane0') to verify whether its the bottom panel and noticed 'Start' button was part of the output.
Tried clicking all the objects one by one in the tray icon to see which one has all the hidden app icons and found 'Notification Chevron' button.
He asked me why do you use s[0] + s[2] / 2 ... I explained as: to click on the center of the widget, get the object size (x, y, width, height) then do x + width / 2, y + height / 2 and get the center point on the object and do left click (b1c).
Once the app icons popup do right click on the object, which pops up the menu.
Next question from him was, how did you found 'mnuContext' as the window name ?
I did getwindowlist() before right clicking the object and after that as well, with that I found one additional window name in the list which is 'mnuContext'.

Now you are all set for selecting the element from sys tray icon.

a silhouette of a person's head and shoulders, used as a default avatar

VMWare Open Sources Windows Version Of Linux Desktop Testing Project

Today Diksha Gupta of EFY have published an article about Windows GUI automation tool.

Summary from the article:
Linux Desktop Testing Project is a black box (GUI) testing library written in Python. LDTP works based on GNOME accessibility stack, so applications that are accessibility enabled can be automated. Currently GTK, Java Swing, Mozilla XUL, LibreOffice UNO, QT >= 4.8 are supported on Linux. Any GUI application running in Linux, Solaris, FreeBSD with the previous requirement can be automated. With recent addition of WinLDTP, tests in Windows environment can also be automated. This library has been tested with Windows XP SP3, Windows 7 SP1, Windows 8 beta. If the same application exists on both the platforms, with our experience automating VMware Workstation product, we have reused 95 per cent of test automation code across both the platforms, which is a huge win for the QA team. Just develop in one platform and make the minimal required changes to run on other platform and your tests are ready!
Thanks Diksha :-)

a silhouette of a person's head and shoulders, used as a default avatar

Announce: Windows version of LDTP - GUI test automation tool


I'm excited to announce Windows version of Linux Desktop Testing Porject (WinLDTP) !!!

Special thanks:
VMware Inc permitting me to open source my work
VMware Desktop Engineering QE team to test it extensively
David Connet for creating the WinLDTP installer

Existing LDTP API's are compatible with WinLDTP, if there is any mismatch then we have to fix it ;-)

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.

Download source

Download binary (Windows XP / Windows 7)
System requirement: .NET 3.5, refer README.txt after installation

Documentation references:

For detailed information on LDTP framework and latest updates visit

For information on various APIs in LDTP including those added for this release can be got from

Report bugs

To subscribe to LDTP mailing lists

IRC Channel - #ldtp on irc.freenode.net

a silhouette of a person's head and shoulders, used as a default avatar

slatternly typing

I just invented a new term to go along with loose typing and strict typing: slatternly typing.

You heard it here first, unless you heard it somewhere else before.