Linux Desktop Testing Project

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Linux Desktop Testing Project
Developer(s) Emily Chen, Nagappan A., et. al.[1]
Initial release January 28, 2005; 13 years ago (2005-01-28)[2]
Stable release
3.5.0 / May 1, 2013; 5 years ago (2013-05-01)[3]
Repository github.com/ldtp/ldtp2
Written in Python, C#[4]
Operating system Linux, macOS, Windows [5]
Type Automated testing
License GNU LGPL [6]
Website ldtp.freedesktop.org

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 Foundation 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]

Diagram of the workings of LDTP
How LDTP works[20]

See also[edit]

References[edit]

  1. ^ "Team Members". ldtp.freedesktop.org. Retrieved 25 December 2017.
  2. ^ "FAQ".
  3. ^ LDTP2 Releases - Github
  4. ^ "Linux Desktop Testing Project". dtp/ldtp2. Retrieved 25 December 2017 – via GitHub.
  5. ^ "ldtp 3.5.0 : Python Pakage Index".
  6. ^ "Download".
  7. ^ "ldtp".
  8. ^ "LDTP 3.0 automates GUI testing on Linux - The H Open: News and Features".
  9. ^ "ldtp".
  10. ^ "pyatom/pyatom - GitHub".
  11. ^ "ldtp/cobra - GitHub".
  12. ^ "ldtp".
  13. ^ "FAQ".
  14. ^ "Executing scripts remotely".
  15. ^ "How to control GNOME apps remotely using LDTP - YouTube".
  16. ^ "SoC".
  17. ^ "SoC06".
  18. ^ "SoC".
  19. ^ "SoC07".
  20. ^ "ldtp-tutorial" (PDF).

External links[edit]