Linux Desktop Testing Project: Difference between revisions

Content deleted Content added
m spelling
Otbest (talk | contribs)
#suggestededit-add-desc 1.0
Tags: Mobile edit Mobile app edit Android app edit
 
(11 intermediate revisions by 10 users not shown)
Line 1:
{{Short description|Testing tool that uses computer assistive technology}}
{{Infobox software
| name = Linux Desktop Testing Project
| developer = Emily Chen, Nagappan A., et. al.<ref>{{cite web|title=Team Members|url=https://ldtp.freedesktop.org/wiki/TeamMembers/|website=ldtp.freedesktop.org|accessdate=25 December 2017}}</ref>
| released = {{Start date and age|2005|101|28|df}}<ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/FAQ/ | title=FAQ}}</ref>
| latest release version = 3.5.0
| latest release date = {{Start date and age|2013|05|01}}<ref>[https://github.com/ldtp/ldtp2/releases LDTP2 Releases] - GithubGitHub</ref>
| repo = {{URL|https://github.com/ldtp/ldtp2}}
| programming language = [[Python (programming language)|Python]], [[C Sharp (programming language)|C#]]<ref>{{cite web|title=Linux Desktop Testing Project|url=https://github.com/ldtp/ldtp2|website=dtp/ldtp2|accessdateaccess-date=25 December 2017 |via=[[GitHub]]}}</ref>
| operating system = [[Linux]], [[macOS]], [[Windows]] <ref>{{cite web | url=https://pypi.python.org/pypi/ldtp | title=ldtp 3.5.0 : Python Pakage Index}}</ref>
| genre = [[Automated testing]]
| license = [[GNU Lesser General Public License|GNU LGPL]] <ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/Download/ | title=Download}}</ref>
| website = {{URL|https://ldtp.freedesktop.org}}
}}
 
The '''Linux Desktop Testing Project''' (LDTP) is an [[open-source]]a [[testing tool]] that uses computer [[Computer accessibility|assistive technology]]<ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/ | title=ldtp}}</ref> to automate [[GUIgraphical user interface]]s (GUI) testing.<ref>{{cite web | url=http://www.h-online.com/open/news/item/LDTP-3-0-automates-GUI-testing-on-Linux-1660613.html | title=LDTP 3.0 automates GUI testing on Linux - The H Open: News and Features}}</ref> The GUI functionality of an application can be tested in Windows[[Linux]], Mac[[macOS]], Linux[[Windows]], [[Oracle Solaris|Solaris]], [[FreeBSD]], and [[embedded system]] environments.<ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/ | title=ldtp}}</ref> The Mac OS XmacOS version is callednamed PyATOM,<ref>{{cite web | url=https://github.com/pyatom/pyatom | title=pyatom/pyatom - GitHub}}</ref> and the Windows version is Cobra.<ref>{{cite web | url=https://github.com/ldtp/cobra | title=ldtp/cobra - GitHub}}</ref> The LDTP is released as [[free and open-source software]] under the [[GNU Lesser General Public License]] (LGPL).
 
LDTP can test any accessibility-enabled [[GNOME]] application, [[Mozilla]], [[OpenOffice.org]], any Swing-based [[Java (programming language)|Java]], [[Qt toolkit(software)|Qt]] 4-based and [[KDE]] 4.x applications.<ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/ | title=ldtp}}</ref>
 
LDTP is/was used by the following companies/ and organizations:<ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/FAQ/ | title=FAQ}}</ref>
 
* [[GNOME]]
Line 23 ⟶ 24:
* [[Openoffice.org]]
* [[KDE]]
* [[Novell]]/[[SUSE S.A.|SuSE]]
* [[Access Systems Americas|Palm Source]]
* [[VMware]]
 
LDTP can be used to remotely test applications.<ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/Executing_scripts_remotely/ | title=Executing scripts remotely}}</ref><ref>{{cite web | url=https://www.youtube.com/watch?v=ojAN8MktFHE |archive-url=https://ghostarchive.org/varchive/youtube/20211213/ojAN8MktFHE |archive-date=2021-12-13 |url-status=live| title=How to control GNOME apps remotely using LDTP - YouTube}}{{cbignore}}</ref>
 
The LDTP is released under the [[LGPL]].
 
==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<ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/SoC/ | title=SoC}}</ref><ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/SoC06/ | title=SoC06}}</ref> for [[Tinderbox (software)|Tinderbox]] integration, [[Evolution (software)|Evolution]] automation, and LDTP regression suite under [[GNOME]] organization. Then again in 2007,<ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/SoC/ | title=SoC}}</ref><ref>{{cite web | url=http://ldtp.freedesktop.org/wiki/SoC07/ | title=SoC07}}</ref> it was used by the Mozilla Foundation for [[Firefox]] automation and [[Tinderbox (software)|Tinderbox]] integration.
 
==Example==
Line 39 ⟶ 38:
This is an example of how LDTP would test writing in [[gedit]]:
 
<sourcesyntaxhighlight lang="python">
#!/usr/bin/pythonenv python3
 
# The standard import stuff.
Line 48 ⟶ 47:
 
# 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()
</syntaxhighlight>
</source>
 
==Diagram of how LDTP works==
{{Wide image|Ldtp-workings.svg|700px|How LDTP works<ref>{{cite web | url=http://download.freedesktop.org/ldtp/doc/ldtp-tutorial.pdf | title=ldtp-tutorial}}</ref>|100%|center|alt=Diagram of the workings of LDTP}}
 
== See also ==
{{Portal|Free and open-source software}}
* [[List of Linux GUI testing tools]]
* [[Desktop Linux]]