Linux Desktop Testing Project

Last updated
Linux Desktop Testing Project
Developer(s) Emily Chen, Nagappan A., et al. [1]
Initial releaseJanuary 28, 2005;19 years ago (2005-01-28) [2]
Stable release
3.5.0 / May 1, 2013;11 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 a testing tool that uses computer assistive technology [7] to automate graphical user interface (GUI) testing. [8] The GUI functionality of an application can be tested in Linux, macOS, Windows, Solaris, FreeBSD, and embedded system environments. [9] The macOS version is named PyATOM, [10] and the Windows version is Cobra. [11] The LDTP is released as free and open-source software under the GNU Lesser General Public License (LGPL).

Contents

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 and organizations: [13]

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

History

LDTP version 0.1.0 was released in January 2005 and then showcased and discussed at GNOME Users And Developers European Conference (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

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

#!/usr/bin/env python3# The standard import stuff.fromldtpimport*fromooldtpimportcontextaslocatefromtimeimportsleep# 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

Ldtp-workings.svg
How LDTP works [20]

See also

Related Research Articles

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is cross-platform application development framework for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphical shell. The desktop environment was seen mostly on personal computers until the rise of mobile computing. Desktop GUIs help the user to easily access and edit files, while they usually do not provide access to all of the features found in the underlying operating system. Instead, the traditional command-line interface (CLI) is still used when full control over the operating system is required.

gedit Linux text editor

gedit is a text editor designed for the GNOME desktop environment. It was GNOME's default text editor and part of the GNOME Core Applications until GNOME version 42 in March 2022, which changed the default text editor to GNOME Text Editor. Designed as a general-purpose text editor, gedit emphasizes simplicity and ease of use, with a clean and simple GUI, according to the philosophy of the GNOME project. It includes tools for editing source code and structured text such as markup languages.

<span class="mw-page-title-main">Jono Bacon</span> Writer and software engineer

Jonathan Edward James Bacon is a writer and software engineer, originally from the United Kingdom, but now based in California. He works as a consultant on community strategy.

<span class="mw-page-title-main">Scanner Access Now Easy</span> Open source scanner application programming interface

Scanner Access Now Easy (SANE) is an open-source application programming interface (API) that provides standardized access to any raster image scanner hardware. The SANE API is public domain. It is commonly used on Linux.

<span class="mw-page-title-main">FOSDEM</span> Annual event in Brussels centered on free and open source software development

Free and Open source Software Developers' European Meeting (FOSDEM) is a non-commercial, volunteer-organized European event centered on free and open-source software development. It is aimed at developers and anyone interested in the free and open-source software movement. It aims to enable developers to meet and to promote the awareness and use of free and open-source software.

<span class="mw-page-title-main">QCAD</span> CAD software

QCAD is a computer-aided design (CAD) software application for 2D design and drafting. It is available for Linux, Apple macOS, Unix and Microsoft Windows. The QCAD GUI is based on the Qt framework.

A desktop environment is a collection of software designed to give functionality and a certain look and feel to an operating system.

Avant Window Navigator is a dock-like bar for Linux, which sits on an edge of a user's screen and tracks open windows. Instead of representing open windows as buttons or segments on a bar, it uses large icons on a translucent background to increase readability and add visual appeal. The program was created by Neil J. Patel.

<span class="mw-page-title-main">GTK</span> Free and open-source cross-platform widget toolkit for creating graphical user interfaces

GTK is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the Wayland and X11 windowing systems.

<span class="mw-page-title-main">GNOME Shell</span> Graphical shell of the GNOME desktop environment

GNOME Shell is the graphical shell of the GNOME desktop environment starting with version 3, which was released on April 6, 2011. It provides basic functions like launching applications and switching between windows, and is also a widget engine. GNOME Shell replaced GNOME Panel and some ancillary components of GNOME 2.

<span class="mw-page-title-main">LightDM</span> Free, open-source X display manager

LightDM is a free and open-source X display manager that aims to be lightweight, fast, extensible and multi-desktop. It can use various front-ends to draw the user interface, also called Greeters. It also supports Wayland.

mpv (media player) Free and open-source media player software

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems and Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, PowerPC, x86/IA-32, x86-64, and MIPS architecture.

<span class="mw-page-title-main">Pluma (text editor)</span> Default text editor for the MATE desktop environment

Pluma is a fork of gedit 2 and the default text editor of the MATE desktop environment used in Linux distributions. It extends the basic functionality with other features and plugins.

<span class="mw-page-title-main">KDE Gear</span> Set of applications and supporting libraries

The KDE Gear is a set of applications and supporting libraries that are developed by the KDE community, primarily used on Linux-based operating systems but mostly multiplatform, and released on a common release schedule.

AV1 Image File Format (AVIF) is an open, royalty-free image file format specification for storing images or image sequences compressed with AV1 in the HEIF container format. It competes with HEIC, which uses the same container format built upon ISOBMFF, but HEVC for compression. Version 1.0.0 of the AVIF specification was finalized in February 2019.

<span class="mw-page-title-main">Fyne (software)</span> Graphical toolkit for building cross platform GUIs

Fyne is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs) across desktop and mobile platforms. It is designed to enable developers to build applications that run on multiple desktop and mobile platforms/versions from a single code base. Fyne uses OpenGL to provide cross-platform graphics. It is inspired by the principles of Material Design to create applications that look and behave consistently across all platforms. It is licensed under the terms of the 3-clause BSD License, supporting the creation of free and proprietary applications. In December 2019 Fyne became the most popular GUI toolkit for Go, by GitHub star count and in early February 2020 it was trending as #1 project in GitHub trending ranks.

<span class="mw-page-title-main">GNOME Terminator</span> Terminal emulator influenced by GNOME Terminal

GNOME Terminator is a free and open-source terminal emulator for Linux programmed in Python, licensed under GPL-2.0-only. The goal of the project is to produce a useful tool for arranging terminals. It is inspired by programs such as gnome-multi-term, QuadKonsole, etc. In that the main focus is arranging terminals in grids. Terminator packages exist for Arch, Debian/Ubuntu, Fedora, OpenSUSE, Gentoo, Snap, FreeBSD, OpenBSD. In 2017 took second place in voting at opensource.com, after Gnome Terminal.

<span class="mw-page-title-main">GNOME Text Editor</span> Text editor for Linux

GNOME Text Editor is the default text editor for the GNOME desktop environment. The program is a free and open-source graphical text editor included as part of the GNOME Core Applications. GNOME Text Editor has been the default text editor for GNOME since GNOME version 42, which was released in March 2022. GNOME Text Editor replaces gedit as GNOME's default text editor, and was created due to the GNOME developers' intention of having all of their programs comply with GNOME's Human interface guidelines (HIG). The adherence to their HIG is done by using the libadwaita library, and making gedit compliant with that would have required an extensive rewrite of gedit's code, so a new program was written from scratch instead.

References

  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". Archived from the original on 2021-12-13.
  16. "SoC".
  17. "SoC06".
  18. "SoC".
  19. "SoC07".
  20. "ldtp-tutorial" (PDF).