Linux Desktop Testing Project
Python Java C# Perl Ruby Visual Basic Other
Latest commit 2b248d5 Oct 19, 2016 @nagappan nagappan committed on GitHub Merge pull request #30 from jstavel/mitigation-of-unable-to-get-row-text
exception just in case that is None
Failed to load latest commit information.
Example Switch back to notepad++ Aug 26, 2013
examples Ruby example verified in Ubuntu 11.04 with Ruby 1.8.7 Jun 20, 2012
ldtp Improved CobraWinLDTP/ldtp/ for better debug log output on console Mar 31, 2016
ldtpd exception just in case that name is None Oct 19, 2016
ldtputils Support Python 3.0 May 1, 2013
ooldtp Updated ooldtp compatible with other supported languages May 19, 2013
AUTHORS Updated AUTHORS Jan 21, 2010
NEWS Updated LDTP version 3.5.0 May 1, 2013



LDTP is the best cross platform GUI testing tool out there. Why? Because it works on Linux, Windows, OS X, Solaris, FreeBSD, NetBSD, and Palm Source. Your feedback is much appreciated, please send an email to Nagappan.

LDTP runs on


DE Requirements

  • GNOME Version - min 2.24
  • Accessibility enabled


  • pyatspi (python-atspi)
  • python-twisted-web
  • python-wnck
  • python-gnome

Optional Dependencies

Build LDTP on Linux

First checkout ldtp from github and cd into ldtp2.

$ git clone

$ cd ldtp2/

Then build and install.

$ python build

$ sudo python install

Note: If your GNOME version is less than or equal to 2.24, then use LDTPv1 (1.7.x)

Writing tests

It is best to read the documentation, so first cd into the doc directory.

$ cd ldtp2/doc/

Then you can either read ldtp-tutorial.rst in you favorite text editor or build a pdf. First install rst2pdf, then run:

$ rst2pdf ldtp-tutorial.rst

Then open the pdf in your favorite pdf viewer.

You can also refer to the following for more information:

Writing LDTP test scripts in Python scripting language LDTP API Reference page

Contact LDTP

We are in #ldtp on and are also available on the LDTP mailing list


So you want to help? Fantastic! If you are looking for ideas on what to work on ask on the mailing list or ping us in irc, we love meeting new people.

Generally the process is fork, make your changes, and make a pull request.