Linux Desktop Testing Project

This is an old revision of this page, as edited by Cjbayliss (talk | contribs) at 11:21, 28 March 2014 (Added more info and refs). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

Linux Desktop Testing Project
Initial releaseError: All values must be integers (help)[1]
Repository
Written inPython, C, C#, Other [2]
Operating systemLinux, OS X, Windows
TypeAutomated testing
LicenseGNU LGPL [3]
Websiteldtp.freedesktop.org/wiki/

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

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

  • GNOME QA community
  • Mozilla QA community
  • Openoffice.org QA community
  • KDE QA community
  • Novell/SuSE, Sun China
  • Palm Source (access-company)
  • VMware Inc

LDTP can be used to remotely test applications.[11]

The LDTP is released under the LGPL.

Example

This is an example of how LDTP tests, testing writing in gedit:

#!/bin/bash

# The standard import stuff.
from ldtp import *
import ooldtp 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()

References

  1. ^ "FAQ".
  2. ^ "The Linux Desktop Testing Project OpenSource Project on Ohloh".
  3. ^ "Download".
  4. ^ "The Linux Desktop Testing Project OpenSource Project on Ohloh".
  5. ^ "ldtp".
  6. ^ "ldtp".
  7. ^ "pyatom/pyatom - GitHub".
  8. ^ "ldtp/cobra - GitHub".
  9. ^ "ldtp".
  10. ^ "FAQ".
  11. ^ "Executing scripts remotely".

See also