Linux Desktop Testing Project

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Linux Desktop Testing Project
Initial release January 28, 2005; 12 years ago (2005-01-28)[1]
Stable release
3.5.0 / May 1, 2013; 3 years ago (2013-05-01)[2]
Repository github.com/ldtp
Development status Active [3]
Written in Python, C, C#, Other [4]
Operating system Linux, OS X, Windows [5]
Type Automated testing
License GNU LGPL [6]
Website ldtp.freedesktop.org/wiki/
github.com/ldtp

The Linux Desktop Testing Project (LDTP) is an open source testing tool that uses computer assistive technology[7] to automate GUIs.[8] The GUI functionality of an application can be tested in Windows, Mac, Linux, Solaris, FreeBSD and embedded environments.[9] The Mac OS X version is called PyATOM,[10] and the Windows version is Cobra.[11]

LDTP can test any accessibility-enabled GNOME application, Mozilla, OpenOffice.org, any Swing-based Java, Qt 4-based and KDE 4.x applications.[12]

LDTP is/was used by the following companies/organizations:[13]

LDTP can be used to remotely test applications.[14][15]

The LDTP is released under the LGPL.

History[edit]

LDTP version 0.1.0 was released in January 2005 and then showcased and discussed at GUADEC 2005. It was then used at the Google Summer of Code in 2006[16][17] for Tinderbox integration, Evolution automation, and LDTP regression suite under GNOME organization. Then again in 2007,[18][19] it was used by the Mozilla Fondation for Firefox automation and Tinderbox integration.

Example[edit]

This is an example of how LDTP would test writing in gedit:

#!/usr/bin/python

# The standard import stuff.
from ldtp import *
from ooldtp import context as locate
from time import sleep

# Here we open the app.
launchapp('gedit')

# Now we find it and make sure it is open.
gedit_win = locate('*gedit')
gedit_win.waittillguiexist()

# Now we type into gedit.
text_field = gedit_win.getchild('txt1')
text_field.enterstring("G'Day mate!")

# Save a picture to prove we did it.
imagecapture('*gedit', '/tmp/foo.png')

# Quit gedit.
quit = gedit_win.getchild('mnuQuit')
quit.selectmenuitem()

# Close without saving.
dont_save = locate('Question')
dont_save.waittillguiexist()

button = dont_save.getchild('btnClosewithoutSaving')
button.click()

# Wait until gedit is gone.
gedit_win.waittillguinotexist()

Diagram of how LDTP works[edit]

How LDTP works.[20]

See also[edit]

References[edit]

External links[edit]