summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BeginnersGuide.mdwn2
-rw-r--r--Bugs.mdwn4
-rw-r--r--Companies_using_LDTP.mdwn11
-rw-r--r--Contribute.mdwn13
-rw-r--r--Data_XML.mdwn28
-rw-r--r--Docs.mdwn20
-rw-r--r--Docs/ldtp-doc.tar.gzbin0 -> 97689 bytes
-rw-r--r--Docs/ldtp-tutorial.pdfbin0 -> 824298 bytes
-rw-r--r--Download.mdwn33
-rw-r--r--Downloads.mdwn2
-rw-r--r--Executing_scripts_remotely.mdwn35
-rw-r--r--FAQ.mdwn165
-rw-r--r--Features.mdwn22
-rw-r--r--GIT.mdwn44
-rw-r--r--HOWTO.mdwn55
-rw-r--r--How_to_develop_component_functions_for_LDTP.mdwn45
-rw-r--r--How_to_execute_scripts.mdwn21
-rw-r--r--How_to_interpret_the_log.mdwn2
-rw-r--r--Howto_generate_Application_map.mdwn31
-rw-r--r--Howto_install_ldtp_Red_Hat_3.4.3-9.EL4.mdwn47
-rw-r--r--Howto_run_ldtp_from_vnc_session.mdwn22
-rw-r--r--Howto_run_ldtp_inside_Xvfb.mdwn5
-rw-r--r--Howto_run_ldtp_inside_Xvfb_which_runs_in_xinit_session.mdwn49
-rw-r--r--Howto_run_pyldtp_inside_Xvfb_which_runs_in_xinit_session.mdwn49
-rw-r--r--Howto_use_LDTP_Editor.mdwn21
-rw-r--r--LDTP_Demo.mdwn10
-rw-r--r--LDTP_TODO.mdwn17
-rw-r--r--LDTP_test_scripts_in_python.mdwn112
-rw-r--r--News.mdwn90
-rw-r--r--Object-Oriented_LDTP.mdwn95
-rw-r--r--Projects_using_LDTP.mdwn18
-rw-r--r--SoC.mdwn6
-rw-r--r--TeamMembers.mdwn25
-rw-r--r--conversion.mdwn9
-rw-r--r--index.mdwn44
35 files changed, 1152 insertions, 0 deletions
diff --git a/BeginnersGuide.mdwn b/BeginnersGuide.mdwn
new file mode 100644
index 0000000..781840c
--- /dev/null
+++ b/BeginnersGuide.mdwn
@@ -0,0 +1,2 @@
+
+Refer [[Docs|Docs]] page
diff --git a/Bugs.mdwn b/Bugs.mdwn
new file mode 100644
index 0000000..9eafd09
--- /dev/null
+++ b/Bugs.mdwn
@@ -0,0 +1,4 @@
+
+If you found any bug in LDTP please file it in [[Bugzilla GNOME|http://bugzilla.gnome.org/enter_bug.cgi?product=LDTP]]
+
+Existing [[LDTP bugs|http://bugzilla.gnome.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=LDTP&long_desc_type=allwordssubstr&long_desc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=anywords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=]]
diff --git a/Companies_using_LDTP.mdwn b/Companies_using_LDTP.mdwn
new file mode 100644
index 0000000..e364f47
--- /dev/null
+++ b/Companies_using_LDTP.mdwn
@@ -0,0 +1,11 @@
+
+Companies using LDTP
+
+* VMware Inc
+* Novell Inc
+* IBM
+* Intel
+* Oracle
+* Palm Source (Access Company)
+* Fujitsu
+Please feel free to add your company details here or send an email to nagappan at gmail dot com
diff --git a/Contribute.mdwn b/Contribute.mdwn
new file mode 100644
index 0000000..cbfafa9
--- /dev/null
+++ b/Contribute.mdwn
@@ -0,0 +1,13 @@
+
+There are many ways you can contribute to LDTP !
+
+* [[Download|Download]] LDTP and install them
+* Report [[Bugs|Bugs]] when you find them
+* Submit patches
+There are many exciting (new) projects that you can contribute to:
+
+* Help us to improve the Website
+* Write / Improve [[documentation|Docs]]
+* Write test scripts for [[GNOME|http://www.gnome.org]] / [[Mozilla|http://www.mozilla.org]] using [[Testcases|Testcases]]
+* Improve LDTP recording
+* Improve LDTP engine performance \ No newline at end of file
diff --git a/Data_XML.mdwn b/Data_XML.mdwn
new file mode 100644
index 0000000..033a3a5
--- /dev/null
+++ b/Data_XML.mdwn
@@ -0,0 +1,28 @@
+
+
+## LDTP Data XML Tags
+
+* We have the following tags in Data XML
+* **data** - The complete XML are tagged under this <data> and </data> tag
+* **<user defined tags>** - User defined tags with user defined values. These user defined tags can appear multiple times. If you use LDTP utils XML parser, the values from the user defined tags are returned as a list. So, you can use it with its index. The list index starts from 0.
+
+## Advantages of using LDTP Data XML
+
+* Technically its a good practice to separate script and data. Reason behind this is re-usability
+* Scripts will be written just once, based on the need we can just populate the data XML
+* In some cases for doing regression testing we will just have one script and multiple data files
+* Reason for XML format is, its easy to parse ;)
+
+## Reference
+
+* [[Sample_Data_XML|Sample_Data_XML]]
+* [[Data_XML_File_Parser|Data_XML_File_Parser]]
+
+### Optional Reference
+
+* How to create [[LDTP_test_scripts_in_python|LDTP_test_scripts_in_python]]
+* Running LDTP scripts [[How_to_execute_scripts|How_to_execute_scripts]]
+* Sequencing set of LDTP scripts using [[ldtprunner_XML|ldtprunner_XML]] file
+Obsolete
+
+* [[Generating LDTP Data XML file format|LDTPEditor/GeneratingLDTPDataXMLfileformat]] \ No newline at end of file
diff --git a/Docs.mdwn b/Docs.mdwn
new file mode 100644
index 0000000..748437f
--- /dev/null
+++ b/Docs.mdwn
@@ -0,0 +1,20 @@
+
+
+## LDTP reference manual
+
+ * [[LDTP Python User API Manual|UserAPIManual]] - Wiki (_**NOTE:** Not complete, For now you can use Online HTML_)
+ * [[LDTP Python User API Manual|http://ldtp.freedesktop.org/user-doc/index.html]] - Online HTML
+ * [[Java User API Manual|http://ldtp.freedesktop.org/javadoc/]]
+ * [[LDTP Python User API Manual|http://download.freedesktop.org/ldtp/1.x/1.1.x/ldtp-doc.tar.bz2]] - Download HTML tar archive for offline usage
+ * LDTP Tutorial [[PDF|http://download.freedesktop.org/ldtp/doc/ldtp-tutorial.pdf]] / [[ODF|http://download.freedesktop.org/ldtp/doc/ldtp-tutorial.odt]]
+ * [[LDTP Editor|http://nagappanal.blogspot.com/2007/11/linux-desktop-testing-project-editor.html]]
+
+## Documentation License
+
+Your use of all the above files are subject to the **GNU Lesser General Public License (LGPL)** unless different license terms accompany the file itself, in which case those terms govern.
+
+
+## Tutorial
+
+ * Setting LDTP in [[GNU/Linux_environment|GNU/Linux_environment]]
+ * How to create [[LDTP_test_scripts_in_python|LDTP_test_scripts_in_python]] \ No newline at end of file
diff --git a/Docs/ldtp-doc.tar.gz b/Docs/ldtp-doc.tar.gz
new file mode 100644
index 0000000..f4f5fc0
--- /dev/null
+++ b/Docs/ldtp-doc.tar.gz
Binary files differ
diff --git a/Docs/ldtp-tutorial.pdf b/Docs/ldtp-tutorial.pdf
new file mode 100644
index 0000000..7479572
--- /dev/null
+++ b/Docs/ldtp-tutorial.pdf
Binary files differ
diff --git a/Download.mdwn b/Download.mdwn
new file mode 100644
index 0000000..6208b9b
--- /dev/null
+++ b/Download.mdwn
@@ -0,0 +1,33 @@
+
+
+## Download LDTP binary / source for Windows/Linux/Mac OSX (released version - 3.5.0/3.5.0/1.0.1 respectively)
+[[!table header="no" class="mointable" data="""
+**Package**|||
+ SLES / SLED / openSUSE / Fedora / RHEL / CentOS / Mandriva | [[X86 / X86_64|http://download.opensuse.org/repositories/home:/anagappan:/ldtp2:/rpm/]] RPM
+ Ubuntu / Debian Etch | [[X86 / X86_64|http://download.opensuse.org/repositories/home:/anagappan:/ldtp2:/deb/]] DEB
+ [[Debian unstable|http://packages.debian.org/unstable/devel/ldtp]] | [[Gentoo package|http://download.freedesktop.org/ldtp/1.x/1.5.x/gentoo/ldtp-1.5.1.ebuild]]
+ LDTP [[source|http://download.freedesktop.org/ldtp/3.x/3.5.x/ldtp-3.5.0.tar.gz]] | From [[GIT|GIT]]
+ Cobra - Windows LDTP [[source|https://github.com/ldtp/cobra]] | [[Cobra - Win LDTP binary|http://code.google.com/p/cobra-winldtp/downloads/list]]
+ PyATOM (Mac LDTP) [[source|https://github.com/ldtp/pyatom]] | PyATOM (Mac LDTP) [[binary|http://pypi.python.org/pypi/atomac/]]
+"""]]
+
+
+## Download License
+
+Your use of all the above files are subject to the **GNU Lesser General Public License (LGPL)** unless different license terms accompany the file itself, in which case those terms govern.
+## Package maintainer
+[[!table header="no" class="mointable" data="""
+**Package maintainer**|||
+ SLED, OpenSuSE RPM - Frank Seidel - fseidel at suse dot de
+ Debian, Ubuntu package - Kartik Mistry - kartik dot mistry at gmail dot com
+ Sun Solaris - Dave Lin Dave - dot Lin at sun dot com and Tim Miao - Tim dot Miao at sun dot com
+ Fedora / Mandriva RPM - Nagappan Alagappan - nagappan at gmail dot com
+ Gentoo ebuild - Navtej Singh - n dot s dot buttar at gmail dot com and Jing Cheng - jingcheng01 at gmail dot com
+ Windows Binary - Nagappan Alagappan - nagappan at gmail dot com
+"""]]
+
+
+## Next step
+
+* Setting LDTP in [[GNU/Linux_environment|GNU_Linux_environment]]
+* How to create [[LDTP_test_scripts_in_python|LDTP_test_scripts_in_python]]
diff --git a/Downloads.mdwn b/Downloads.mdwn
new file mode 100644
index 0000000..18b2cbb
--- /dev/null
+++ b/Downloads.mdwn
@@ -0,0 +1,2 @@
+
+Refer [[Download|Download]] page
diff --git a/Executing_scripts_remotely.mdwn b/Executing_scripts_remotely.mdwn
new file mode 100644
index 0000000..e209307
--- /dev/null
+++ b/Executing_scripts_remotely.mdwn
@@ -0,0 +1,35 @@
+
+In LDTP you can execute the test scripts from a remote location. Say, the ldtp execution engine can run on a remote test server and you can execute the test scripts from your development box.
+
+Steps to follow:
+
+Start LDTP engine (manually) in remote location with the following options
+
+_$ ldtp **-s**_
+
+or
+
+_$ ldtp **--script-engine **_
+
+_Default port 23456 _
+
+_$ ldtp -s **-p 12345** _
+
+or
+
+_$ ldtp --script-engine **--port=12345** _
+
+from remote machine, in shell, you need to set LDTP_SERVER_ADDR with the remote server IP address or resolvable machine name (DNS entry).
+
+_**export LDTP_SERVER_ADDR=xx.xx.xx.xx** _
+
+If port number is changed in the ldtp server, then LDTP_SERVER_PORT environment variable has to be set
+
+_**export LDTP_SERVER_PORT=12345** _
+
+Now start executing the test scripts using ldtprunner or from a python prompt or from a shell.
+
+* $ python testscript.py
+* $ python
+ * >>> from ldtp import *
+ * >>> click ("*-gedit", "btnFind") \ No newline at end of file
diff --git a/FAQ.mdwn b/FAQ.mdwn
new file mode 100644
index 0000000..28800dd
--- /dev/null
+++ b/FAQ.mdwn
@@ -0,0 +1,165 @@
+## LDTP works based on some technology ?
+
+ * Yes, LDTP is based on Assistive Technology.
+ * To know more about assisitive technology <http://developer.gnome.org/projects/gap/>
+
+## Is LDTP announced ?
+
+Linux Desktop Testing Project (LDTP) was the first Test Automation Framework to use AT-SPI !!! LDTP has been open sourced by January 2005.
+
+ * LDTP 0.1.0 was anounced on [[Friday 28, January 2005|http://lwn.net/Articles/121202/]]
+ * LDTP was showcased and discussed in [[GUADEC 2005|http://live.gnome.org/Stuttgart2005_2fLightningTalks]]
+ * Published in [[opensourcetesting.org|http://opensourcetesting.org/functional.php#GNU/Linux%20Desktop%20Testing%20Project]]
+ * Published and discussed in [[Slashdot|http://slashdot.org/article.pl?sid=05/06/22/1843206]]
+
+## Why is LDTP not part of the GNOME project ?
+
+ * LDTP is Linux desktop agnostic. It aims at delivering an umbrella of test suites for Linux Desktop projects which includes the top ones like GNOME, KDE, Mozilla, Openoffice.org etc. This increases wide-spread acceptance of LDTP as a de-facto desktop testing framework.
+ * Based on the inputs recevied from some of the prominent members of the GNOME and KDE community, LDTP has been hosted on [[freedesktop.org|http://anongit.freedesktop.org/git/ldtp]]
+ * However, LDTP currently uses the [[GNOME bugzilla|http://bugzilla.gnome.org/enter_bug.cgi?product=LDTP]] for bug tracking, thanks to [[Luis Villa|http://tieguy.org/blog/index.cgi]] for making this available.
+
+## How is LDTP different from other desktop testing frameworks ?
+
+LDTP is a unique initiative to make Linux Desktops stable and rock solid by running them through rigorous suite of test conditions. At the time of writing this document, some of the prominent features of LDTP include
+
+ * LDTP concepts are derived from [[Software Testing Automation Framework|http://staf.sourceforge.net/index.php]]
+ * LDTP supports verification of actions performed (guiexist, verifystate, etc)
+ * Writing test scripts are very easy, the script writer need not know about the object hierarchy
+ * CPU / Memory performance monitoring of application-under-test can be measured
+ * From the XML log, we can gather [[HTML report|http://lists.freedesktop.org/archives/ldtp-dev/2005-October/000031.html]] using XSLT
+ * Group based execution, which provides precise control on the flow of test-script execution
+ * User-friendly Test Editor with syntax highlighting for generating and grouping test data
+I believe that the goal of another desktop testing framework would be similar to that of LDTP and hence reduntant. I welcome everyone to join hands with the LDTP community and make it the de facto desktop testing framework for *nix platform. LDTP community has made 11 dot releases so far and is active.
+
+
+## How LDTP discovers the object ?
+
+LDTP discovers the object both dynamically (using [[remap]]) and statically (using application map - [[Howto_generate_Application_map]])
+
+
+## How to enable accesssibility
+
+In gnome-control-center, open 'Assistive Technology' and click 'Enable Assistive technologies' check box. Close and logout once. Accessibility will be enabled in GNOME environment.
+
+
+## Who uses and supports LDTP ?
+
+LDTP community include hackers from:
+
+ * GNOME QA community
+ * Mozilla QA community
+ * Openoffice.org QA community
+ * KDE QA community
+ * Novell/SuSE, Sun China
+ * Palm Source (access-company)
+ * VMware Inc
+And I see increasing number of participation every week in weekly community meetings.
+
+It is great to note that the following have successfully deployed LDTP
+
+ * [[Evolution sanity scripts|http://go-evolution.org/Automation_using_LDTP]] using LDTP project will be released by November end
+ * [[Tomato|http://forge.novell.com/modules/xfmod/project/?tomato]] project is [[integrating LDTP|http://lists.freedesktop.org/archives/ldtp-dev/2005-October/000034.html]] to provide a common scripting environment for Windows and Linux QA script writers
+ * LDTP is being used for [[valgrinding Evolution|http://mail.gnome.org/archives/evolution-hackers/2005-September/msg00133.html]]
+
+## Does LDTP support platforms other than Linux ?
+
+Yes, LDTP hackers from Sun Microsystems have successfully tested LDTP on Solaris. There are people trying to use LDTP on FreeBSD as well.
+
+
+## How to use LDTP to test Java applications ?
+
+<http://mail.gnome.org/archives/gnome-accessibility-list/2003-November/msg00085.html>
+
+
+## Will LDTP support KDE ?
+
+Yes. From KDE 4.0, KDE has planed to provide QT - ATK bridge, with this bridge LDTP can be used to test KDE applications also. Refer:
+
+ * <http://trolls.troll.no/~Eharald/accessibility/>
+ * <http://accessibility.kde.org/>
+ * <http://accessibility.kde.org/developer/bridge.php>
+
+## How accessibility technology works ?
+
+Refer:
+
+* <http://www.mozilla.org/projects/ui/accessibility/unix/architecture.html>
+* <http://accessibility.kde.org/developer/atk.php>
+
+## Can I run my tests from a remote location ?
+
+Accessibility for remote GNOME apps is still on the roadmap. Because the accessibility framework uses CORBA, it works in theory, but in practice, the bonobo-activation mechanism which GNOME uses to register with the at-spi registry is tied to localhost. So the missing link is a remote bonobo-activation; once you have that, the rest should fall into place.
+
+Refer: [[Mail from Bill Haneman|http://mail.gnome.org/archives/gnome-accessibility-list/2005-January/msg00020.html]]
+
+
+## Why does error message 'Unidentified Object' displayed ?
+
+* When accessibility is not enabled.
+* When object name in 'Testtable' differs from object defination in appmap
+* If LDTP has not yet provided support for the corresponding type of object.
+
+## Where do i get information about python ?
+
+ * If you have _**Novell Linux Desktop**_ and if you have installed python-doc package, you can see python documentation in /usr/share/doc/packages/python/html directory.
+ * Alternate online - <http://docs.python.org/> You can download them for offline reading from [[http://docs.python.org/download.html|http://docs.python.org/download.html]]
+**General Python links**
+
+ * <http://www.vex.net/~x/parnassus/>
+
+## How can I write component functions for LDTP ?
+
+ * [[AT-SPI API documentation|http://developer.gnome.org/doc/API/2.0/at-spi/index.html]]
+ * [[How_to_develop_component_functions_for_LDTP]]
+
+## Is there any tutorial available for writing test scripts ?
+
+How to create [[LDTP_test_scripts_in_python]]
+
+
+## After adding new file, when I try to generate rpm, I'm getting error like <new file> not found ?
+
+Rpm distribution module tries to read MANIFEST file in local directory. If this file already exist and if you have added a new file in setup.py, on building you won't get any error. But on creating rpm you will get an error like <you new file name> not found. Remove MANIFEST file in local directory and generate the rpm file.
+
+
+## When I try to generate appmap for applications like gimp, gaim, I'm getting an error message "application not running" ?
+
+ * Try running the application seperately and try to poke them with at-poke.
+ * If at-poke is not able to detect, then try at-poke <application name>. Example: at-poke gaim
+ * If at-poke is able to detect, then you can generate appmap with the following steps:
+ * Type the following environment variable in terminal
+ * export GTK_MODULES=gail:atk-bridge
+ * export GNOME_ACCESSIBILITY=1 now invoke the application from the terminal in which you have typed the above environment variables. Ex: gaim
+
+## When xscreensaver runs, GNU/LDTP is unable to proceed ?
+
+Seems to be accessibility bug. As a work around, use the command 'xscreensaver-command -exit'
+
+
+## I don't see any console output which are printed with g_print ?
+
+ * Use export LDTP_DEBUG=1 to get messages in console
+ * Use export LDTP_DEBUG=2 to get verbose messages in console
+
+## LDTP supported platforms
+
+ * [[OpenSuSE|http://www.opensuse.org/]]
+ * [[OpenSolaris|http://opensolaris.org/]]
+ * [[Ubuntu|http://ubuntu.com/]]
+ * [[Debian GNU/Linux|http://www.debian.org/]]
+ * [[Fedora Core|http://fedora.redhat.com/]]
+ * [[FreeBSD|http://www.freebsd.org/]]
+
+## How to Compile LDTP under Ubuntu Dapper?
+
+Check [[ldtpUnderDapper]]. You will need automake 1.9 and aclocal 1.9 installed.
+
+
+## Recommended GNOME Version
+
+[[GNOME|http://www.gnome.org]] 2.10 and above
+
+
+## With LDTPv2 I get ResponseNotReady
+
+If proxy environment variable is set, you might get this, unset it. eg: 'unset http_proxy'
diff --git a/Features.mdwn b/Features.mdwn
new file mode 100644
index 0000000..541ed33
--- /dev/null
+++ b/Features.mdwn
@@ -0,0 +1,22 @@
+
+
+## LDTP Features
+
+ * LDTP concepts are derived from [[Software Automation Framework Support|http://safsdev.sourceforge.net/Default.htm]]
+ * LDTP supports verification of actions performed (guiexist, verifystate, etc) - [[API Reference|Docs]]
+ * Writing test scripts are very easy, the script writer need not know about the object hierarchy
+ * CPU / Memory performance monitoring of application-under-test can be measured - [[Class_pstats|Class_pstats]]
+
+## Deprecated
+
+ * From the XML log, we can gather [[HTML report|http://lists.freedesktop.org/archives/ldtp-dev/2005-October/000031.html]] using XSLT
+ * Group based execution, which provides precise control on the flow of test-script execution - [[ldtprunner_XML|ldtprunner_XML]]
+ * Scripts can be written as a reusable component and for that the data can be stored / retrieved in XML - [[Data_XML|Data_XML]]
+ * User-friendly Text Editor with syntax highlighting for generating and grouping test data [[Howto_use_LDTP_Editor|Howto_use_LDTP_Editor]]
+ * Objects are identified both [[statically|http://gnomebangalore.org/ldtp/index.php/Howto_generate_Application_map]] and [[dynamically|http://gnomebangalore.org/ldtp/index.php/Remap]]
+ * [[Record / Playback|RecordHOWTO]]
+
+## Next step
+
+ * Setting LDTP in [[GNU/Linux_environment|GNU/Linux_environment]]
+ * How to create [[LDTP_test_scripts_in_python|LDTP_test_scripts_in_python]] \ No newline at end of file
diff --git a/GIT.mdwn b/GIT.mdwn
new file mode 100644
index 0000000..9fe4bbc
--- /dev/null
+++ b/GIT.mdwn
@@ -0,0 +1,44 @@
+
+
+## Linux Desktop Testing Project
+
+LDTPv2
+[[!table header="no" class="mointable" data="""
+ **Check out LDTPv2 source** | **Check out Windows LDTP**
+ git clone git://anongit.freedesktop.org/git/ldtp/ldtp2.git | git clone git://github.com/ldtp/cobra.git
+ **Check out LDTPv2 source via http proxy** | **Check out Windows LDTP via http proxy**
+ git clone [[http://anongit.freedesktop.org/git/ldtp/ldtp2.git|http://anongit.freedesktop.org/git/ldtp/ldtp2.git]] | git clone [[https://github.com/ldtp/cobra.git|https://github.com/ldtp/cobra.git]]
+ **Checkout LDTPv2 source from freedesktop.org GIT as a developer** | **Checkout Windows LDTP source from github as a developer**
+ git clone [[ssh://username@git.freedesktop.org/git/ldtp/ldtp2.git|ssh://username@git.freedesktop.org/git/ldtp/ldtp2.git]] | git clone [[git@github.com|mailto:git@github.com]]:ldtp/cobra.git
+ **Browse Source online** |
+ [[LDTP|http://cgit.freedesktop.org/ldtp/ldtp2/tree/]] | [[Cobra - Windows LDTP|https://github.com/ldtp/cobra]]
+ [[PyATOM - Mac LDTP|https://github.com/ldtp/pyatom]] |
+"""]]
+
+LDTPv1
+[[!table header="no" class="mointable" data="""
+ **Check out LDTP source** | **Check out Python auto-suite test-scripts**
+ git clone git://anongit.freedesktop.org/git/ldtp/ldtp.git | git clone git://anongit.freedesktop.org/git/ldtp/pyautosuite.git
+ **Check out LDTP source via http proxy** | **Check out Python auto-suite test-scripts via http proxy**
+ git clone [[http://anongit.freedesktop.org/git/ldtp/ldtp.git|http://anongit.freedesktop.org/git/ldtp/ldtp.git]] | git clone [[http://anongit.freedesktop.org/git/ldtp/pyautosuite.git|http://anongit.freedesktop.org/git/ldtp/pyautosuite.git]]
+ **Checkout LDTP source from freedesktop.org GIT as a developer** |
+ git clone [[ssh://username@git.freedesktop.org/git/ldtp/ldtp.git|ssh://username@git.freedesktop.org/git/ldtp/ldtp.git]] |
+ **Browse Source online** |
+ [[LDTP|http://cgit.freedesktop.org/ldtp/ldtp/tree/]] |
+ [[Python autosuite|http://cgit.freedesktop.org/ldtp/pyautosuite/tree]] |
+ [[a11y-test-suite|http://cgit.freedesktop.org/ldtp/a11y-test-suite/tree]] |
+"""]]
+
+
+## Next
+
+Setting LDTP in [[GNU/Linux_environment|GNU/Linux_environment]]
+
+How to create [[LDTP_test_scripts_in_python|LDTP_test_scripts_in_python]]
+
+
+## Obsolete CVS modules
+
+**Check out Application map generation utility**
+
+git clone git://anongit.freedesktop.org/git/ldtp/appmap.git
diff --git a/HOWTO.mdwn b/HOWTO.mdwn
new file mode 100644
index 0000000..9e5b17f
--- /dev/null
+++ b/HOWTO.mdwn
@@ -0,0 +1,55 @@
+
+
+## Using LDTP
+
+Setting LDTP in [[GNU/Linux_environment|GNU/Linux_environment]]
+
+How to create [[LDTP_test_scripts_in_python|LDTP_test_scripts_in_python]]
+
+[[Executing_scripts_remotely|Executing_scripts_remotely]]
+
+
+## Using LDTP in Xvfb environment
+
+[[Howto_run_ldtp_from_vnc_session|Howto_run_ldtp_from_vnc_session]]
+
+[[Howto_run_ldtp_inside_Xvfb|Howto_run_ldtp_inside_Xvfb]]
+
+[[Howto_run_ldtp_inside_Xvfb_which_runs_in_xinit_session|Howto_run_ldtp_inside_Xvfb_which_runs_in_xinit_session]]
+
+
+## Hacking LDTP
+
+[[How_to_develop_component_functions_for_LDTP|How_to_develop_component_functions_for_LDTP]]
+
+
+## Papers about testing
+
+[[The White Paper on Keyword Driven Automation Framework|http://safsdev.sourceforge.net/FRAMESDataDrivenTestAutomationFrameworks.htm]]
+
+
+## Obsolete HOWTOs
+
+Running LDTP scripts [[How_to_execute_scripts|How_to_execute_scripts]]
+
+Sequencing set of LDTP scripts using [[ldtprunner_XML|ldtprunner_XML]] file
+
+Script input [[Data_XML|Data_XML]] file - Useful to maintain a generic script
+
+[[Record user events and generate LDTP scripts|RecordHOWTO]]
+
+[[Test-case_generation_procedure|Test-case_generation_procedure]]
+
+[[Howto_generate_Application_map|Howto_generate_Application_map]]
+
+[[Howto_use_LDTP_Editor|Howto_use_LDTP_Editor]]
+
+[[Generating LDTP Data XML file format|LDTPEditor/GeneratingLDTPDataXMLfileformat]]
+
+[[Generating ldtprunner XML file format|LDTPEditor/GeneratingldtprunnerXMLfileformat]]
+
+[[Test-case_generation_procedure|Test-case_generation_procedure]]
+
+[[Release_notes_for_Evolution-2.5.1_Sanity_suite|Release_notes_for_Evolution-2.5.1_Sanity_suite]]
+
+[[Howto_install_ldtp_Red_Hat_3.4.3-9.EL4|Howto_install_ldtp_Red_Hat_3.4.3-9.EL4]]
diff --git a/How_to_develop_component_functions_for_LDTP.mdwn b/How_to_develop_component_functions_for_LDTP.mdwn
new file mode 100644
index 0000000..ce43273
--- /dev/null
+++ b/How_to_develop_component_functions_for_LDTP.mdwn
@@ -0,0 +1,45 @@
+
+1. How to identify the object in an application (ex: scrollbar) using at-poke
+
+ * a) The application is poked using at-poke tool. The command for the application to be poked is at-poke <application name> eg.at-poke gedit b) The command open the application along with the at-poke window. The application name is selected from the list of applications in the window. c) Click "poke" button. d) Another window with the application name on the left pane appears. Select the application name and click "Expand" on the right pane. The application gets expanded displaying all the components, their name and their corresponding attributes on the right pane. e) Scroll down on the left pane to select the required object, whose object name is displayed on the right pane. Example: To identify scroll bar object in gedit application Poke the gedit application. Expand it and scroll down to identify the object.Note that as the component is selected on the at-poke window, the corresponding component in the application is highlighted. When the scrollbar is identified, the object name "Scroll bar" is displayed on the right pane.
+2. Before writing a component function what all links / documents needs to be refered ?
+
+ * [[AT-SPI C Bindings Reference Manual|http://developer.gnome.org/doc/API/2.0/at-spi/index.html]]
+ * [[Basic Accessible Object Methods and Interface Query|http://developer.gnome.org/doc/API/2.0/at-spi/spi-accessible.html]]
+ * [[Subinterface Methods|http://developer.gnome.org/doc/API/2.0/at-spi/spi-component.html]]
+ * Check existing component function implementation ([[check_box.c|http://forge.novell.com/modules/xfmod/cvs/cvsbrowse.php/ldtp/ldtp/src/check_box.c]], ...)
+3. How to write a function ?
+
+ * Initially, the component for which the function is to be written should be identified (Refer point 1) and studied in detail.
+ * The [[AT-SPI C Bindings|http://developer.gnome.org/doc/API/2.0/at-spi/index.html]] provided in the link is used in the modules for various functions. For eg, the 'Accessible' Interface is used for all the basic operations on the Accessible object, '[[AccessibleAction|http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-AccessibleAction-Interface.html]]' Interface is used for the [[AccessibleAction|http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-AccessibleAction-Interface.html]] operations on the object.
+ * The various actions that can be performed on the component should be analysed and identified from the [[AccessibleAction|http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-AccessibleAction-Interface.html]] Interface in at-poke(for eg, for push_button, [[AccessibleAction|http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-AccessibleAction-Interface.html]] is "click"), and their corresponding functions from the AT-SPI C Bindings are invoked in the code. If there is no predefined [[AccessibleAction|http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-AccessibleAction-Interface.html]] available for the component, then user-defined actions can be included in the code(for eg, for scroll_bar, scroll_up and scroll_down).
+ * The various states for the component can be viewed on the right panel of the At-poke window. The '[[AccessibleState|http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-State-and-StateSets.html]]' Interface is used to check the states of the component. For eg, the [[AccessibleState(s)|http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-State-and-StateSets.html]] for push_button are 'VISIBLE', 'ENABLED', etc. **Note**: that it is not necessary to check all the states listed by At-poke for the component. Checking those states, that are required for the component is sufficient. For eg, it is sufficient to check the 'VISIBLE', 'HORIZONTAL' and 'VERTICAL' states for the scroll_bar, though more states like 'SENSITIVE', 'ENABLED' etc.. are available.
+ * Finally, before proceeding with a function, studying the existing modules in the 'src' directory would give a clear picture.
+4. Coding style (How to name function, variable)
+
+ * Write all the function name in lower case
+ * Except the main function write all the other functions as static
+ * Atmost try to return the status (PASS - 0/1 or FAIL -1/0) of current function
+ * Try to free all the SPI resources ([[SPI_freeString|http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-freeString]], [[Accessible_unref|http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-Accessible-Objects.html#Accessible-unref]])
+5. What all should be in your new file (Give reference to safsdev.sf.net with an example to your source code scroll_bar.c)
+
+The file should contain the following functions to perform the corresponding operations:
+
+ * To check whether the selected component for which the test case is written is the invoked object. For ex. is_object_scroll_bar
+ * To check the required states for the component. For ex. is_scroll_bar_state_visible and is_scroll_bar_state_vertical are used to check the SPI states 'VISIBLE' and 'VERTICAL' respectively.
+ * To perform the corresponding actions for the Accessible Object. For ex. 'click' for push_button or user-defined actions like 'one_up' and 'one_down' for scroll_bar. These can be identified with the help of the 'SAFSDEV' reference link [[Component Function list|http://safsdev.sourceforge.net/sqabasic2000/ComponentFunctionsList.htm]]
+ * A main function, which includes a pointer to all the above functions written in the module and returns the function called-for. For ex. scroll_bar_main
+6. What all files you need to modify ?
+
+ * In [[gui.c|http://forge.novell.com/modules/xfmod/cvs/cvsbrowse.php/ldtp/ldtp/src/gui.c]] file, add your [[class|class]] in function get_class_id. Before making entry please verify, how other [[class|class]]es are implemented.
+ * In [[ldtp.c|http://forge.novell.com/modules/xfmod/cvs/cvsbrowse.php/ldtp/ldtp/src/ldtp.c]]file, order your new [[class|class]] in process_current_record function and add the required entries. Before making entry please verify, how other [[Class|Class]]es are called.
+ * object_state_contains function implemented in [[gui.c|http://forge.novell.com/modules/xfmod/cvs/cvsbrowse.php/ldtp/ldtp/src/gui.c]] uses object_state structure in [[states.h|http://forge.novell.com/modules/xfmod/cvs/cvsbrowse.php/ldtp/ldtp/src/states.h]]. Make sure that your [[class|class]] has all the common fields. Add your <component_name>_main function in [[ldtp.h|http://forge.novell.com/modules/xfmod/cvs/cvsbrowse.php/ldtp/ldtp/src/ldtp.h]]
+7. How to Link your source code in main ldtp source ?
+
+ * Edit [[Makefile.am|http://forge.novell.com/modules/xfmod/cvs/cvsbrowse.php/ldtp/ldtp/src/Makefile.am]] and add your new <component_name>.c file entry under ldtp_SOURCES tag. After making the entry, change to previous directory and run ./autogen.sh and run 'make' in command prompt.
+8. How to test your new component ?
+
+ * Edit the appmap file in 'input' folder, to include an entry for your component (if it is not already included). Ex. To test the 'scrollbar' component for 'gedit' application, the gedit.map file is edited and an entry for the scrollbar is made.
+ * [gedit] scrollBar={class=scroll_bar}
+ * Write a test case which includes the component and the corresponding action. For eg. scrolldown ('gedit', 'scrollBar')
+ * Execute the test case as given in the link [[Tutorials|Tutorials]] and verify the results. \ No newline at end of file
diff --git a/How_to_execute_scripts.mdwn b/How_to_execute_scripts.mdwn
new file mode 100644
index 0000000..74f13d9
--- /dev/null
+++ b/How_to_execute_scripts.mdwn
@@ -0,0 +1,21 @@
+
+
+## How to execute LDTP scripts
+
+Make sure that you have the following files in current working directory
+
+* You need to have test scripts to be executed
+* You can have [[Data_XML|Data_XML]] - Optional
+* You can have [[ldtprunner_XML|ldtprunner_XML]] - Optional
+* Make sure ldtp, ltfx (optional), digwin (optional), ldtprunner, ldtprecord (optional) are installed
+If you have [[ldtprunner_XML|ldtprunner_XML]] then invoke like:
+
+* $ _ldtprunner <ldtprunner XML>_
+If you have only scripts in the current directory then invoke like:
+
+ * $ _python <script file name.py>_
+
+## Reference
+
+ * How to create [[LDTP_test_scripts_in_python|LDTP_test_scripts_in_python]]
+ * Refer [[How_to_interpret_the_log|How_to_interpret_the_log]] \ No newline at end of file
diff --git a/How_to_interpret_the_log.mdwn b/How_to_interpret_the_log.mdwn
new file mode 100644
index 0000000..80cb530
--- /dev/null
+++ b/How_to_interpret_the_log.mdwn
@@ -0,0 +1,2 @@
+
+TODO
diff --git a/Howto_generate_Application_map.mdwn b/Howto_generate_Application_map.mdwn
new file mode 100644
index 0000000..566a625
--- /dev/null
+++ b/Howto_generate_Application_map.mdwn
@@ -0,0 +1,31 @@
+
+
+# Obsolete
+
+Using this tool you can generate application map which will be recognized by ldtp.
+
+How to use this tool ?
+
+* Ensure accessibility is turned on
+* Open the application for which you want to generate appmap.
+* Run appmap. Syntax: `appmap <application>`
+_Note: The application map will be stored in the current directory, i.e. the directory from where you execute the command `appmap <application>`_
+
+Example:
+
+ * Open gedit
+ * appmap gedit An application map called "gedit.map" will be generated in the current directory.
+_Note: Some GUI objects/applications may note be recognized by appmap - in this case you will need to complete the following steps in order to generate an application map for these GUI objects / applications_
+
+* - Launch the component for which test automation has to be done. - Launch at-poke from terminal, select the component and then click on 'Poke'. - Then click on 'Expand' in 'A tool for poking things'.
+_Note: If you find that at-poke is not capturing the application this is probably because you have not enabled accessibility._
+
+* - Scroll down and click on each of the objects in 'A tool for poking things'. You will be able to identify details of object you are looking for on right hand side, that will display object type, label associated with the object.
+ * To specify in the appmap capture object type, label of the object, if label is not associated with the object then you need to find out instance index. Instance index is position of the 'X' type of object under parent. If object 'Y' of type 'Z' is existing under parent 'X' first, then instance_index is 'Zero'. If object 'Y' of type 'Z' is existing under parent 'X' second, then instance_index is '1'. The example given below might make things more clear.
+ * Open Gedit, click on Edit->Preferences.
+ * In the Edit Preferences dialog box there are 3 spin button items, 'Tabs width', 'Autosave files every' and 'Undo Limit to'. The instance index for 'Tabs width' is 0, the instance index for 'Autosave files every' is 1 and instance index for 'Undo Limit to' is 2.
+ * The syntax for these GUI objects can be written in the appmap as follows:
+ * _sbtnTabs={class=spin_button, instance_index=0}_
+ * _sbtnAutosave={class=spin_button, instance_index=1}_
+ * _sbtnUndo={class=spin_button, instance_index=2}_ - Edit application map file generated by appmap, specify object name which follows naming conventions of object, type of object, label instance index. - Once the application map for a particular application is complete, it is in the appmap directory with the extension .map (for example application map for gedit is gedit.map). Copy the appmap of that application and save it in the input directory.
+More details about internals of appmap refer [[About_Appmap|About_Appmap]]
diff --git a/Howto_install_ldtp_Red_Hat_3.4.3-9.EL4.mdwn b/Howto_install_ldtp_Red_Hat_3.4.3-9.EL4.mdwn
new file mode 100644
index 0000000..f8f0d35
--- /dev/null
+++ b/Howto_install_ldtp_Red_Hat_3.4.3-9.EL4.mdwn
@@ -0,0 +1,47 @@
+
+
+# Obsolete
+
+Installing ldtp on Red Hat 3.4.3-9.EL4 (using VMWare)
+
+Assumption: A linux user (say harsha) The symbol $ is run as user in the terminal The symbol # is run as root in the terminal
+
+1. Praveen A (J4V4M4N) checked out the entire ldtp project(s) for me (Thank you buddy)
+
+2. I compiled the ldtp project (not pyldtp)
+
+ * Procedure: $ cd ~harsha/ldtp $./autogen.sh $ ./configure # make # make install #cd python # ./setup.py build # ./setup.py install
+3. I discoverd i had python:
+
+ * Python 2.3.4 (#1, Feb 2 2005, 11:44:49) [GCC 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
+4. I installed python2.4 rpms (core and devel)
+
+5. I set the <logfile>/home/harsha/EXAMPLES/gedit/gedit-log.xml</logfile> values in gedit-execution.xml
+
+6. Then I tried executing gedit-execution.xml
+
+7. I got a log message saying python imaging library (PIL) is not installed
+
+8. I downloaded PIL and again ran
+
+ * # python2.4 ~harsha/PIL/setup.py build # ~harsha/PIL/setup.py install
+9. again i ran
+
+ * $ cd ~harsha/ldtp/python # python2.4 ./setup.py build # python2.4 setup.py install running install running build running build_py running install_lib copying build/lib/ldtputils.py -> /usr/lib/python2.4/site-packages copying build/lib/ldtp.py -> /usr/lib/python2.4/site-packages byte-compiling /usr/lib/python2.4/site-packages/ldtputils.py to ldtputils.pyc byte-compiling /usr/lib/python2.4/site-packages/ldtp.py to ldtp.pyc running install_data
+and ldtprunner got copied to /usr/bin
+
+10. Now I went to Start Menu/Preferences/Accesibility/Assistive Technology Support <click>
+
+ * in the window that appears select "Enable Assistive Technology Support" and say ok
+11. I opened one more terminal and typed
+
+ * $ ldtp &
+ * (server should run right)
+12. I opened gedit application
+
+13. now cd ~harsha/EXAMPLES/gedit
+
+14 run the command
+
+ * $ python2.4 /usr/bin/ldtprunner gedit-execution.xml
+15. and the Magic started to happen Hurray Yummy yummy!!! I am happy ;)
diff --git a/Howto_run_ldtp_from_vnc_session.mdwn b/Howto_run_ldtp_from_vnc_session.mdwn
new file mode 100644
index 0000000..c1bebdd
--- /dev/null
+++ b/Howto_run_ldtp_from_vnc_session.mdwn
@@ -0,0 +1,22 @@
+
+Install x11vnc for SuSE / NLD from [[x11vnc|http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=%2FNetwork/x11vnc/]]
+
+Install vnc2swf for SuSE / NLD from [[vnc2swf|http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=Multimedia/vnc2swf/]]
+
+_**Only for first time**_
+
+Start vncserver once
+
+Edit ~/.vnc/xstartup and modify the last entry to gnome-session &
+
+_Make sure that no other instance of gnome-session is running with the same user name_
+
+kill the current running vncserver (command: vncserver -kill :1 # assuming that the display started in :1)
+
+_**Every time**_
+
+start vncserver
+
+Howto use [[vnc2swf|http://www.unixuser.org/~euske/vnc2swf/vnc2swf.html]]
+
+Configuring an [[XDMCP Server For VNC|http://www.linux-mag.com/content/view/1298/2205/]]
diff --git a/Howto_run_ldtp_inside_Xvfb.mdwn b/Howto_run_ldtp_inside_Xvfb.mdwn
new file mode 100644
index 0000000..48ad8dc
--- /dev/null
+++ b/Howto_run_ldtp_inside_Xvfb.mdwn
@@ -0,0 +1,5 @@
+
+
+## Steps based on SuSE 9.3
+
+* - Install [[Xvfb|ftp://ftp.univie.ac.at/systems/linux/suse/i386/supplementary/X/Xorg/Xorg-X11R6.8.2/i386/suse92/xorg-x11-Xvfb-6.8.2-35.1.i586.rpm]] - [[Start Xvfb|http://www.xfree86.org/4.0.1/Xvfb.1.html#toc6]] - I used **Xvfb :1 -screen 0 1024x768x24 -ac -noreset -v -fbdir /tmp/** - Opened one terminal and cd to pyautosuite/gedit directory - export DISPLAY=localhost:1 - run gedit (gedit &) - commented launchapp ('gedit') in gedit.py. Because this takes 100% CPU. Needs investigation - start test-script (./gedit.py) \ No newline at end of file
diff --git a/Howto_run_ldtp_inside_Xvfb_which_runs_in_xinit_session.mdwn b/Howto_run_ldtp_inside_Xvfb_which_runs_in_xinit_session.mdwn
new file mode 100644
index 0000000..0cde902
--- /dev/null
+++ b/Howto_run_ldtp_inside_Xvfb_which_runs_in_xinit_session.mdwn
@@ -0,0 +1,49 @@
+
+
+## Steps based on SuSE 9.3
+
+* Install [[Xvfb|ftp://ftp.univie.ac.at/systems/linux/suse/i386/supplementary/X/Xorg/Xorg-X11R6.8.2/i386/suse92/xorg-x11-Xvfb-6.8.2-35.1.i586.rpm]]
+* Install [[x11vnc|http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=%2FNetwork/x11vnc/]] for SuSE / NLD
+* [[Start Xvfb|http://www.xfree86.org/4.0.1/Xvfb.1.html#toc6]]
+* Created .xinitrc in home directory
+* Content of .xinitrc
+ * $ cat ~/.xinitrc
+ * gnome-session
+* I issued **xinit -- /usr/X11R6/bin/Xvfb :1 -screen 0 1024x768x24 -fbdir /tmp :1** command from one terminal
+* Logged into a terminal and cd to pyautosuite/gedit directory
+* export DISPLAY=localhost:1
+* run gedit (gedit &)
+* commented launchapp ('gedit') in gedit.py. Because this takes 100% CPU. **Needs investigation**
+* Start test-script (./gedit.py)
+* Started **x11vnc -display :1** in one terminal
+* Started **vncviewer localhost:0** in another terminal
+_Now I got the complete Xvfb in vncviewer !!!_
+
+
+## Readonly vnc session
+
+* Start **x11vnc -display :1 -viewonly**
+
+## Shared vnc session
+
+* Start **x11vnc -display :1 -shared**
+
+## Read directly from frame buffer file
+
+* start **x11vnc -display :1 -rawfb map:/tmp/Xvfb_screen0**
+
+## Don't disconnect even if vnc session got disconnected
+
+* start **x11vnc -display :1 -forever**
+
+## Some anonymous user has left the following info, looks very useful
+
+I have recently come up with an improvement to the x11vnc + Xvfb technique that may have useful application in a testing framework.
+
+The idea is to not use Xvfb, but to use Xorg or XFree86 directly using the "dummy" device driver. The advantage this has over Xvfb is that the X server is closer to the real one in use. (e.g. has RANDR, RENDER,etc.,extensions).
+
+Previously to do this one had to patch the Xorg or XFree86 server to not do VT switching. However, I have come up with a hack that uses LD_PRELOAD with a stock X server to disable the VT switching.
+
+It is here: [[Xdummy script|http://www.karlrunge.com/x11vnc/Xdummy]]
+
+More info on the method [[is here|http://www.karlrunge.com/x11vnc/#faq-xvfb]].
diff --git a/Howto_run_pyldtp_inside_Xvfb_which_runs_in_xinit_session.mdwn b/Howto_run_pyldtp_inside_Xvfb_which_runs_in_xinit_session.mdwn
new file mode 100644
index 0000000..0cde902
--- /dev/null
+++ b/Howto_run_pyldtp_inside_Xvfb_which_runs_in_xinit_session.mdwn
@@ -0,0 +1,49 @@
+
+
+## Steps based on SuSE 9.3
+
+* Install [[Xvfb|ftp://ftp.univie.ac.at/systems/linux/suse/i386/supplementary/X/Xorg/Xorg-X11R6.8.2/i386/suse92/xorg-x11-Xvfb-6.8.2-35.1.i586.rpm]]
+* Install [[x11vnc|http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=%2FNetwork/x11vnc/]] for SuSE / NLD
+* [[Start Xvfb|http://www.xfree86.org/4.0.1/Xvfb.1.html#toc6]]
+* Created .xinitrc in home directory
+* Content of .xinitrc
+ * $ cat ~/.xinitrc
+ * gnome-session
+* I issued **xinit -- /usr/X11R6/bin/Xvfb :1 -screen 0 1024x768x24 -fbdir /tmp :1** command from one terminal
+* Logged into a terminal and cd to pyautosuite/gedit directory
+* export DISPLAY=localhost:1
+* run gedit (gedit &)
+* commented launchapp ('gedit') in gedit.py. Because this takes 100% CPU. **Needs investigation**
+* Start test-script (./gedit.py)
+* Started **x11vnc -display :1** in one terminal
+* Started **vncviewer localhost:0** in another terminal
+_Now I got the complete Xvfb in vncviewer !!!_
+
+
+## Readonly vnc session
+
+* Start **x11vnc -display :1 -viewonly**
+
+## Shared vnc session
+
+* Start **x11vnc -display :1 -shared**
+
+## Read directly from frame buffer file
+
+* start **x11vnc -display :1 -rawfb map:/tmp/Xvfb_screen0**
+
+## Don't disconnect even if vnc session got disconnected
+
+* start **x11vnc -display :1 -forever**
+
+## Some anonymous user has left the following info, looks very useful
+
+I have recently come up with an improvement to the x11vnc + Xvfb technique that may have useful application in a testing framework.
+
+The idea is to not use Xvfb, but to use Xorg or XFree86 directly using the "dummy" device driver. The advantage this has over Xvfb is that the X server is closer to the real one in use. (e.g. has RANDR, RENDER,etc.,extensions).
+
+Previously to do this one had to patch the Xorg or XFree86 server to not do VT switching. However, I have come up with a hack that uses LD_PRELOAD with a stock X server to disable the VT switching.
+
+It is here: [[Xdummy script|http://www.karlrunge.com/x11vnc/Xdummy]]
+
+More info on the method [[is here|http://www.karlrunge.com/x11vnc/#faq-xvfb]].
diff --git a/Howto_use_LDTP_Editor.mdwn b/Howto_use_LDTP_Editor.mdwn
new file mode 100644
index 0000000..19ed290
--- /dev/null
+++ b/Howto_use_LDTP_Editor.mdwn
@@ -0,0 +1,21 @@
+
+
+# Obsolete
+
+[[Generating ldtprunner XML file format|LDTPEditor/GeneratingldtprunnerXMLfileformat]]
+
+[[Generating LDTP Data XML file format|LDTPEditor/GeneratingLDTPDataXMLfileformat]]
+
+
+## LDTP Editor dependancy
+
+[[pygtk|http://www.pygtk.org]]
+
+[[python|http://www.python.org]]
+
+
+## Where can I get the LDTP Editor ?
+
+In [[Downloads|Downloads]] page, latest released LDTP editor is available.
+
+You can also download the current development version of LDTP editor from [[GIT|GIT]].
diff --git a/LDTP_Demo.mdwn b/LDTP_Demo.mdwn
new file mode 100644
index 0000000..23ab291
--- /dev/null
+++ b/LDTP_Demo.mdwn
@@ -0,0 +1,10 @@
+
+Evolution Address Book Automation using LDTP [[OGG|http://people.freedesktop.org/~prashmohan/evolution-addrbook-low.ogg]] / [[AVI|http://people.freedesktop.org/~prashmohan/evolution-addrbook-low.avi]]
+
+Evolution Calendar Automation using LDTP [[OGG|http://people.freedesktop.org/~prashmohan/evolution-calendar-low.ogg]] / [[AVI|http://people.freedesktop.org/~prashmohan/evolution-calendar-low.avi]]
+
+jhbuild running LDTP tests — Screencast [[AVI|http://people.freedesktop.org/~prashmohan/jhbuild-screencast-low.avi]]
+
+[[Evolution IMAP Sanity|http://download.freedesktop.org/ldtp/movies/evolution-imap-sanity.html]] using LDTP(3.7 MB)
+
+LDTP Recording Demo inside [[Netbeans editor|http://people.freedesktop.org/~nagappan/ldtpguidemo.html]] !
diff --git a/LDTP_TODO.mdwn b/LDTP_TODO.mdwn
new file mode 100644
index 0000000..c8684e8
--- /dev/null
+++ b/LDTP_TODO.mdwn
@@ -0,0 +1,17 @@
+
+
+##### Port LDTP to Python from existing C implementation - http://bugzilla.gnome.org/show_bug.cgi?id=360928
+
+We have initial code checked in to the GIT repository, though this code path will not be executed by default.
+
+
+##### Improve LDTP recording
+
+Check [[Recording TO DO|RecordTODO]]
+
+
+##### Populate widget information in LDTP editor - Will be useful for the script writers
+
+Similar to at-poke / accerciser, but with the information based on LDTP naming convention.
+
+_If you have any other ideas, please feel free to contact Nagappan Alagappan <nagappan (@) gmail (dot) com>_
diff --git a/LDTP_test_scripts_in_python.mdwn b/LDTP_test_scripts_in_python.mdwn
new file mode 100644
index 0000000..f53a221
--- /dev/null
+++ b/LDTP_test_scripts_in_python.mdwn
@@ -0,0 +1,112 @@
+
+
+# Writing LDTP test scripts in Python scripting language
+
+
+## Setup LDTP
+
+* Download the binary files from [[Download|Download]]
+* Or download the source files from [[GIT|GIT]] and follow the steps to install LDTP in [[GNU/Linux_environment|GNU/Linux_environment]] from source.
+* Enable accessibility (Assistive Technology)
+
+### Platform
+
+* - Does your platform supported ? Refer - [[LDTP supported platforms|FAQ/LDTPsupportedplatforms]] - Any environment dependency to run ldtp ?
+ * Yes you need to have **GNOME 2.10 / KDE 4.0** and above
+
+## import LDTP modules
+
+ * _from ldtp import *_ _from ldtputils import *_ **Reason** why we do importing based on the above format instead of 'import ldtp' is, if we do the first one, we can just directly use all the ldtp functions just by calling their name. If we import the module as 'import ldtp', then we need to call the corresponding function as ldtp.<function name>
+**Example 1:**
+
+ * _from ldtp import *_ _selectmenuitem ('*-gedit', 'mnuFile;mnuNew')_
+**Example 2:**
+
+ * _import ldtp_ _ldtp.selectmenuitem ('*-gedit', 'mnuFile;mnuNew')_
+
+## LDTP API
+
+ * Refer [[LDTP API|http://ldtp.freedesktop.org/user-doc/index.html]] page for list of implemented LDTP API's
+
+## Call a function to perform an operation
+
+LDTP generally operates on the given object in a particular window.
+
+To select a menu item, you need to call [[selectmenuitem|selectmenuitem]] function. For example, to select open menu item in gedit application, call the below function
+
+ * _selectmenuitem ('frmUnsavedDocument1-gedit', 'mnuFile;mnuOpen')_
+When you call the above a new dialog box will be poped up, you can verify whether the window is opened or not either by [[guiexist|guiexist]] or by [[waittillguiexist|waittillguiexist]]
+
+ * guiexist function immediately returns either 1 (window exist) or 0 (window does not exist) waittillguiexist waits for the window to appear. Wait time out is by default 30 seconds. This default time out can be either increased on decreased using GUI_TIMEOUT
+If you want to operate on a push button in a window, you need to call [[click|click]] function:
+
+To press 'Cancel' button in a GTK Open File Selector dialog
+
+ * _click ('dlgOpenFile', 'btnCancel')_
+When you do the above operation the GTK File selector dialog disappears. To verify whether the window actually quits or not use [[waittillguinotexist|waittillguinotexist]] function
+
+If you modify any opened file in gedit, the window title will be modified. To continue operating on the window you need to change your context of operation. Reason: As you are aware that LDTP works based on individual window, the context of window will be changed, when the title changes. To over come this use [[setcontext|setcontext]] function and when you don't require them use [[releasecontext|releasecontext]]
+
+Edit your current opened file using:
+
+ * _settextvalue ('frmUnsavedDocument1-gedit', 'txt0', 'Testing editing')_
+This will change the window title. Note, before doing the above operation, title will be 'Unsaved Document 1 - gedit' and after editing the title will look like '*Unsaved Document 1 - gedit'. To further operate on the same window, use
+
+ * _setcontext ('Unsaved Document 1 - gedit', '*Unsaved Document 1 - gedit')_
+So that you can continue using the same window name, for example:
+
+ * _selectmenuitem ('frmUnsavedDocument1-gedit', 'mnuFile;mnuSaveAs')_
+The above function will invoke the GTK save dialog box
+
+If any of the action releated functions (example: selectmenuitem, click, settextvalue) fail, an exception is raised. It has to be handled by the program to either continue operating on execution or just halt
+
+
+## Executing LDTP scripts
+
+ * Sequencing set of LDTP scripts [[ldtprunner_XML|ldtprunner_XML]]
+ * [[How_to_execute_scripts|How_to_execute_scripts]]
+
+## Debugging LDTP issues
+
+ * **export LDTP_DEBUG=1** to get the list of commands issued from LDTP python to LDTP engine and also to check the return value from LDTP engine. _**NOTE:**_ This will be handy, if you are not logging the status of execution.
+ * **export LDTP_DEBUG=2** and start LDTP engine in a terminal and your scripts from a different terminal. This will give a detailed info of whats happening with the current command.
+
+## Generating LDTP scripts
+
+ * [[RecordHOWTO|RecordHOWTO]] - To generate scripts based on users actions
+ * _**Note:**_ _Above mentioned steps is to create scripts manually_
+
+## Test Data
+
+ * Identify the list of variable arguments and have it in a separate [[Data_XML|Data_XML]] file
+
+## Test cases / Scenarios
+
+ * List the test scenarios which you are planing to automate - Refer [[Testcases|Testcases]]
+
+## Reference
+
+ * Existing LDTP test scripts - [[http://cgit.freedesktop.org/ldtp/pyautosuite/|http://cgit.freedesktop.org/ldtp/pyautosuite/]]
+ * If you have any issues in writing scripts, you can contact us either through mail or IRC - Refer [[BeginnersGuide|BeginnersGuide]]
+
+## Filing bugs
+
+ * If existing feature in LDTP does not work, please file a [[bug|http://bugzilla.gnome.org/enter_bug.cgi?product=LDTP]] and select component as ldtp. Also provide us the steps to reproduce, so that we can fix it at the earliest.
+ * If new feature needs to be added in LDTP, please file an enhancement [[bug|http://bugzilla.gnome.org/enter_bug.cgi?product=LDTP]]
+
+## LDTP usage help
+
+ * Join the LDTP team on IRC for technical help, online.
+ * Server : irc.freenode.net Channel : #ldtp
+ * Join the LDTP [[Mailing_List|Mailing_List]]
+ * Refer [[FAQ|FAQ]], [[HOWTO|HOWTO]]
+
+## Hacking LDTP
+
+ * If you are interested in writing a new component function - Refer [[How_to_develop_component_functions_for_LDTP|How_to_develop_component_functions_for_LDTP]]
+ * LDTP internal [[Architecture|Architecture]] page
+
+## Useful Links
+
+ * [[UsefulLinks|UsefulLinks]]
+_Other Reference_ [[About_Appmap|About_Appmap]], [[Appmap convention|Appmap convention]]
diff --git a/News.mdwn b/News.mdwn
new file mode 100644
index 0000000..d6ee227
--- /dev/null
+++ b/News.mdwn
@@ -0,0 +1,90 @@
+[[!table header="no" class="mointable" data="""
+Cobra WinLDTP 3.5.0 released [[Download|Download]] - Wednesday May 22 2013
+LDTP 3.5.0 released [[Download|Download]] - Tuesday Apr 30 2013
+Cobra WinLDTP 3.0.0 released [[Download|Download]] - Tuesday Jan 8 2013
+ATOMac 1.0.1 released [[PyATOM|http://pyatom.com]] - Friday Oct 12 2012
+Cobra WinLDTP 2.5.0 released [[Download|Download]] - Thursday Oct 4 2012
+LDTP 3.0.0 released [[Download|Download]] - Friday Aug 3 2012
+Cobra WinLDTP 2.0 released [[Download|Download]] - Thursday Aug 2 2012
+C#/VB.NET/PowerShell API support released [[Download|Download]] - Tue Jun 19 2012
+Ruby API support released [[Download|Download]] - Tue Jun 19 2012
+Java API support released [[Download|Download]] - Thu May 24 2012
+Cobra WinLDTP 1.0 released [[Download|Download]] - Wednesday Apr 18 2012
+LDTP 2.3.1 released [[Download|Download]] - Saturday Feb 25 2012
+LDTP 2.3.0 released [[Download|Download]] - Thursday Feb 16 2012
+LDTP 2.2.0 released [[Download|Download]] - Wednesday Sep 21 2011
+LDTP 2.1.1 released [[Download|Download]] - Tuesday Feb 1 2011
+LDTP 2.1.0 released [[Download|Download]] - Monday Jan 3 2011
+LDTP 2.0.6 released [[Download|Download]] - Wednesday Apr 14 2010
+LDTP 2.0.5 released [[Download|Download]] - Monday Mar 29 2010
+LDTP 2.0.4 released [[Download|Download]] - Thursday Mar 25 2010
+LDTP 1.7.2 released [[Download|Download]] - Thursday Feb 11 2010
+LDTP 2.0.3 released [[Download|Download]] - Wednesday Feb 10 2010
+LDTP 2.0.2 released [[Download|Download]] - Tuesday Jan 26 2010
+LDTP 2.0.1 released [[Download|Download]] - Monday Jan 18 2010
+LDTP 1.7.1 released [[Download|Download]] - Thursday Aug 13 2009
+LDTP 1.7.0 released [[Download|Download]] - Thursday Aug 13 2009
+LDTP 1.6.0 released [[Download|Download]] - Sunday May 10 2009
+LDTP 1.5.1 released [[Download|Download]] - Tuesday March 10 2009
+LDTP 1.5.0 released [[Download|Download]] - Monday February 09 2009
+LDTP 1.4.0 released [[Download|Download]] - Monday December 01 2008
+LDTP 1.3.0 released [[Download|Download]] - Wednesday August 27 2008
+[[Ubuntu|http://ubuntutesting.wordpress.com/2008/08/01/dealing-with-utf-8-characters/]] officially started using LDTP for their automation - Friday August 1 2008
+LDTP 1.2.0 released [[Download|Download]] - Tuesday July 8 2008
+LDTP 1.1.0 released [[Download|Download]] - Tuesday April 29 2008
+LDTP has been moved from CVS to [[GIT|http://bugs.freedesktop.org/show_bug.cgi?id=14596]] - Thursday April 24 2008
+LDTP 1.0.0 released [[Download|Download]] - Saturday February 23 2008
+LDTP 0.9.2 released [[Download|Download]] - Tuesday September 04 2007
+LDTP 0.9.1 released [[Download|Download]] - Monday September 03 2007
+LDTP 0.9.0 released [[Download|Download]] - Tuesday August 28 2007
+LDTP is now integrated into jhbuild setup - Saturday April 14 2007
+LDTP has been selected for Google [[SoC07|SoC07]] under Mozilla organization - Wednesday April 11 2007
+LDTP 0.8.0 released [[Download|Download]] - Wednesday February 14 2007
+LDTP 0.7.0 released [[Download|Download]] - Thursday, December 07 2006
+Prashanth Mohan Google [[SoC|SoC]] tasks under GNOME organization - Thursday, June 01 2006
+ [[Prashanth Mohan|http://prashblog.be/]] has replaced existing nominee [[Shankar Ganesh|http://shagancisco.blogspot.com/]] for Google Summer of Code 2006 under GNOME organization - [[List|http://live.gnome.org/SummerOfCode2006/]] of selected applications - Thursday, June 01 2006
+ [[LDTP ported to ARM hardware|http://lists.freedesktop.org/archives/ldtp-dev/2006-May/000326.html]] by [[Palm Source|http://www.palmsource.com]] - Thursday, May 25 2006
+ [[Shankar Ganesh|http://shagancisco.blogspot.com/]] has been selected for Google Summer of Code 2006 under GNOME organization - [[List|http://live.gnome.org/SummerOfCode2006/]] of selected applications - Tuesday, May 23 2006
+ Received 5 applications for LDTP under [[GNOME organization|http://live.gnome.org/SummerOfCode2006/Ideas]] for [[Google Summer of Code|http://code.google.com/soc]] - Monday, May 8 2006
+ LDTP 0.4.0 released [[Download|Download]] - Thursday, March 30 2006
+ LDTP 0.3.1 released [[Download|Download]] - Thursday, February 23 2006
+ LDTP 0.3.0 released [[Download|Download]] - Wednesday, February 01 2006
+ [[Sun Solaris LDTP package|http://lists.freedesktop.org/archives/ldtp-dev/2005-October/000059.html]] will be built biweekly by Sun LDTP Hackers - Tuesday, October 11 2005
+ LDTP [[FAQ|FAQ]] has been [[updated|http://nagappanal.blogspot.com/2005/10/faqs-about-ldtp.html]] - Monday, October 10 2005
+ [[Evolution sanity scripts|http://go-evolution.org/Automation_using_LDTP]] using LDTP project will be released by November end
+ [[Tomato|http://forge.novell.com/modules/xfmod/project/?tomato]] project is [[integrating LDTP|http://lists.freedesktop.org/archives/ldtp-dev/2005-October/000034.html]] to provide a common scripting environment for Windows and Linux QA script writers - Sunday, October 2 2005
+ LDTP 0.2.0 released [[Download|Download]] - Wednesday, September 28 2005
+ LDTP is being used for [[valgrinding Evolution|http://mail.gnome.org/archives/evolution-hackers/2005-September/msg00133.html]] - Mon, September 26 2005
+ [[CVS|CVS]] hosted in [[http://cvs.freedesktop.org/ldtp/|http://cvs.freedesktop.org/ldtp/]] - Monday, September 19 2005
+ [[Mailing_List|Mailing_List]] hosted in [[http://lists.freedesktop.org/archives/ldtp-dev/|http://lists.freedesktop.org/archives/ldtp-dev/]] - Monday, September 19 2005
+ [[TeamMembers|TeamMembers]] page added - Monday, August 22 2005
+ Deb packages contributed by Prashanth [[Downloads|Downloads]] - Monday, August 18 2005
+ LDTP 0.1.9 release [[Download|Download]] - Monday, August 17 2005
+ LDTP 0.1.8 release [[Download|Download]] - Monday, August 1 2005
+ Fedora Core 4 LDTP rpm has been generated and available for [[Downloads|Downloads]] - Thursday, August 4 2005
+ Luis Villa created [[LDTP in GNOME bugzilla|http://forge.novell.com/modules/xfmod/maillist/archbrowse.php/ldtp-dev/2005-July/000397.html?id=1458&prjname=ldtp&mlname=dev]] - Friday, July 22 2005
+ First ever LDTP [[community Meeting|community Meeting]] - Wednesday, July 20 2005
+ LDTP 0.1.7 release [[Download|Download]] - Monday, July 18 2005
+ Created first LDTP [[Newsletters|Newsletters]]
+ LDTP 0.1.6 release [[Download|Download]] - Thursday, June 23 2005
+ Published a small write up [[about GNU/LDTP in slashdot|http://slashdot.org/article.pl?sid=05/06/22/1843206]] - Wednesday, June 22 2005
+ Luis Villa trying to setup [[LDTP to work with GNOME Tinderbox|http://forge.novell.com/modules/xfmod/maillist/archbrowse.php/ldtp-dev/2005-June/000354.html?id=1458&prjname=ldtp&mlname=dev]] - Wednesday, June 15 2005
+ Announced LDTP in [[GUADEC|http://2005.guadec.org/]] conference - [[Lightning Talk|http://live.gnome.org/Stuttgart2005_2fLightningTalks]]- Monday, May 30 2005
+ Created ldtp project in sf.net/projects/ldtp and updated CVS [[sf.net cvs|http://cvs.sourceforge.net/viewcvs.py/ldtp]] - Wednesday, May 18 2005
+ Added [[Howto_run_pyldtp_inside_Xvfb_which_runs_in_xinit_session|Howto_run_pyldtp_inside_Xvfb_which_runs_in_xinit_session]] - Friday, April 29 2005
+ LDTP 0.1.5 released [[Download|Download]] - Wednesday, April 20 2005
+ Luis Villa demonstrated LDTP in [[Linux Conference Australia|http://www.gnomebangalore.org/pipermail/ldtp/2005-April/000307.html]] - Tuesday, April 19 2005
+ Added GNU/LDTP project to [[http://cia.navi.cx/stats/project/ldtp|http://cia.navi.cx/stats/project/ldtp]] - Friday, April 15 2005
+ LDTP Hack Fest + [[GnomeBangalore Meet|http://www.gnomebangalore.org/?q=node/view/782]] in Novell, Bangalore - Saturday, April 16 2005
+ LDTP 0.1.4 released [[Download|Download]] - Friday, March 11 2005
+ LDTP presented inside Novell, Bangalore - Wednesday, March 09 2005
+ LDTP 0.1.3 released [[Download|Download]] - Monday, February 14 2005
+ LDTP hack fest in Novell, Bangalore - Thursday, February 10 2005
+ gPdf basic test checked-in - Tuesday, February 08 2005
+ LDTP has been discussed in [[Swatantra National Symposium|http://swatantra.info/]]
+ LDTP 0.1.2 released with python bindings [[Download|Download]] - Monday, February 07 2005
+ LDTP 0.1.1 released [[Download|Download]]
+ LDTP has been discussed in [[Hackers Crackdown|http://nitt.edu/hackercrackdown/]]
+ LDTP announced in [[LINDEC|http://www.gnomebangalore.org/lindec/]]
+ [[LDTP CVS|http://forge.novell.com/modules/xfmod/cvs/cvspage.php/ldtp/]] created in [[forge.novell.com|http://forge.novell.com/modules/xfmod/project/?ldtp]]
+"""]]
diff --git a/Object-Oriented_LDTP.mdwn b/Object-Oriented_LDTP.mdwn
new file mode 100644
index 0000000..f3159d6
--- /dev/null
+++ b/Object-Oriented_LDTP.mdwn
@@ -0,0 +1,95 @@
+# Object Oriented LDTP bundled with LDTP package
+
+With this implementation, the code can be like
+
+Approach 1
+
+ from ooldtp import *
+
+ gedit = context ('*-gedit')
+ btnFind = gedit.getchild ('btnFind')
+ btnFind.click ()
+
+Approach 2
+
+ from ooldtp import *
+
+ gedit = context ('*-gedit')
+ gedit.click ('btnFind')
+
+# Welcome to Object-Oriented LDTP (EXPERIMENTAL) by Palm Source
+
+
+## What it is Object-Oriented LDTP?
+
+Till now LDTP supports this kind of syntax:
+
+ click('*gedit', btncopy)
+ selectmenuitem('*gedit', 'mnuFile;mnuOpen')
+
+it does not support appmap anymore. however I prefer using appmap to maximize its maintainability of our automation script. and I want ldtp have ability to using the following syntax to write script:
+
+ frmgedt.btncopy.click()
+ frmgedit.mnuOpen.click()
+
+and
+
+ Window('frm*gedit').PushButton('btncopy').click()
+ Window('frm*gedit').MenuItem('mnuFile;mnuOpen').pick()
+
+so I write a wrapper for LDTP, it wraps/improves most of LDTP API.
+
+
+
+## How to use?
+
+
+### use convert.py to generate the window declaration
+
+* cmd line:
+ * convert windowname output e.g.
+ * convert frm*gedit geditclass.py it will generate geditclass.py
+
+### open the file, you can find the code looks like below:
+
+ from window import *
+
+ class Gedit(Window):
+ name = '*gedit'
+
+ btncopy = Window.PushButton('btncopy', name)
+ btncut = Window.PushButton('btncut', name)
+ btnfind = Window.PushButton('btnfind', name)
+ btnfindandreplace = Window.PushButton('btnfindandreplace', name)
+ btngtkundo = Window.PushButton('btngtk-undo', name)
+
+ mnuAbout = Window.MenuItem('mnuHelp;mnuAbout', name)
+ mnuAda = Window.MenuItem('mnuView;mnuHighlightMode;mnuSources;mnuAda', name)
+ mnuAllLowerCase = Window.MenuItem('mnuEdit;mnuChangeCase;mnuAllLowerCase', name)
+ mnuAllUpperCase = Window.MenuItem('mnuEdit;mnuChangeCase;mnuAllUpperCase', name)
+ # ...
+ frmGedit = Gedit()
+
+### now you can do something like this
+
+To select a menuitem:
+
+ frmGedit.mnuAbout.select()
+ or write this
+ Window('*gedit').Menu('mnuHelp;mnuAbout').select()
+
+To click a button:
+
+ frmGedit.btnfind.click()
+ or write this
+ Window('*gedit').PushButton('btnfind').click()
+
+You can find more wrapped APIs in window.py
+
+### also you can add your own methods to this class.
+
+### That's all, enjoy it ;)
+
+##### Found any bug please email me:
+
+tae.ccf(at)gmail.com
diff --git a/Projects_using_LDTP.mdwn b/Projects_using_LDTP.mdwn
new file mode 100644
index 0000000..2613b1a
--- /dev/null
+++ b/Projects_using_LDTP.mdwn
@@ -0,0 +1,18 @@
+
+[[GNOME Desktop Testing|http://live.gnome.org/DesktopTesting]]
+
+[[Ubuntu Desktop Testing|https://wiki.ubuntu.com/Testing/Automation/Desktop/]]
+
+[[VMware Workstation / Player / View client|http://www.vmware.com/products/]]
+
+[[Palm Source / Access Company|http://lavixu.livejournal.com/8774.html]] - Embedded mobile testing
+
+[[Evolution automation using LDTP|http://go-evolution.org/Automation_using_LDTP]]
+
+[[LDTP in assisting Valgrinding Evolution|http://mail.gnome.org/archives/evolution-hackers/2005-September/msg00133.html]]
+
+[[LDTP - TOMATO Integeration|http://forge.novell.com/modules/xfmod/maillist/archbrowse.php/ldtp-dev/2005-September/000466.html?id=1458&prjname=ldtp&mlname=dev]]
+
+[[Gedit|http://live.gnome.org/Gedit_2fTestCases]]
+
+[[Anjuta|https://launchpad.net/atfa]]
diff --git a/SoC.mdwn b/SoC.mdwn
new file mode 100644
index 0000000..4f272d6
--- /dev/null
+++ b/SoC.mdwn
@@ -0,0 +1,6 @@
+
+LDTP participating in Google Summer of Code under different organizations
+[[!table header="no" class="mointable" data="""
+[[SoC07|SoC07]] | Firefox automation and Tinderbox integration under Mozilla organization
+[[SoC06|SoC06]] | Evolution automation and Tinderbox integration under GNOME organization
+"""]]
diff --git a/TeamMembers.mdwn b/TeamMembers.mdwn
new file mode 100644
index 0000000..c968a99
--- /dev/null
+++ b/TeamMembers.mdwn
@@ -0,0 +1,25 @@
+[[!table header="no" class="mointable" data="""
+**Core Team**|||
+ Emily Chen (emily (dot) chen (@) sun (dot) com) | Patrick Gu (Patrick (dot) Gu (@) Sun (dot) COM)
+ Nagappan A (nagappan (@) gmail (dot) com) (LDTP Maintainer) | Venkateswaran S (wenkat (dot) s (@) gmail (dot) com)
+ Prem Kumar J (jpremkumar (@) novell (dot) com) | S.Theyagarajan (theyaga (@) gmail (dot) com)
+ K.Harishankaran (sp2hari (@) gmail (dot) com) | Varadhan (vvaradhan (@) novell (dot) com)
+ Prashanth Mohan (prashmohan (@) gmail (dot) com) | Guofu Xu (Guofu (dot) Xu (@) palmsource (dot) com)
+ Shreyank Gupta (shreyankg (@) gmail (dot) com) | Yingjun Li (yingjunli (@) gmail (dot) com) (Cobra Maintainer)
+"""]]
+[[!table header="no" class="mointable" data="""
+**Active Contributors**|||
+ Khasim Shaheed (khasim.shaheed (@) gmail (dot) com) | Thanikachalam S (thanika_1999 (@) yahoo (dot) com)
+ Harry (harry (dot) lu (@) sun (dot) com) | Kaveri (kaveri (dot) murthy (@) hp (dot) com)
+ Krishnan R (aparkrish (@) gmail (dot) com) | Alex.Yu (hao (dot) yu (@) palmsource (dot) com)
+ Shankar Ganesh (shagan (dot) glare (@) gmail (dot) com) | Raghu Dandin (Raghu (dot) Dandin (@) palmsource (dot) com)
+ Tao Miao (Tim (dot) Miao (@) sun (dot) com) | Poornima Nayak (pnayak (@) novell (dot) com)
+"""]]
+[[!table header="no" class="mointable" data="""
+**Package maintainer**|||
+ SLED, OpenSuSE RPM - Frank Seidel (fseidel (@) suse (dot) de)
+ Debian, Ubuntu package - Kartik Mistry (kartik (dot) mistry (@) gmail (dot) com)
+ Sun Solaris - Dave Lin (Dave (dot) Lin (@) sun (dot) com)
+ Fedora / Mandriva RPM - Nagappan A (nalagappan (@) vmware (dot) com)
+ Gentoo ebuild - Navtej Singh (n (dot) s (dot) buttar (@) gmail (dot) com))
+"""]]
diff --git a/conversion.mdwn b/conversion.mdwn
new file mode 100644
index 0000000..3e959ce
--- /dev/null
+++ b/conversion.mdwn
@@ -0,0 +1,9 @@
+# MoinMoin to Ikiwiki conversion
+
+If you have an account on Annarchy, you can help out with the conversion of this wiki.
+
+You can follow the [[page conversion|http://wiki.freedesktop.org/sitewranglers/wiki/moin2iki_page_selection/]] instructions using `PROJECT="ldtp"`.
+
+Here is a list of broken links, which should be a starting place for what needs converting:
+
+[[!brokenlinks]]
diff --git a/index.mdwn b/index.mdwn
new file mode 100644
index 0000000..00a6f9c
--- /dev/null
+++ b/index.mdwn
@@ -0,0 +1,44 @@
+
+_**Cross Platform GUI Test Automation tool**_ Linux version is [[LDTP|http://ldtp.freedesktop.org]], Windows version is [[Cobra|https://github.com/ldtp/cobra]] and Mac version is [[PyATOM|https://github.com/pyatom/pyatom]].
+
+* Linux GUI testing is known to work on GNOME / KDE (QT >= 4.8) / Java Swing / [[LibreOffice|LibreOffice]] / Mozilla application on all major Linux distribution
+* Windows GUI testing is known to work on application written in .NET / C++ / Java / QT on Windows XP SP3 / Vista SP2 / Windows 7 / Windows 8
+* Mac GUI testing is known to work on OS X Snow Leopard/Lion/Mountain Lion. Where ever ATOMac runs, LDTP should work on it
+
+The GNU/Linux Desktop (GUI Application) Testing Project (GNU LDTP) aimed at producing high quality test automation framework and cutting-edge tools that can be used to test and improve the GNU/Linux or Solaris desktops. It uses the **Accessibility** libraries to discover through the application's user interface.
+
+**Supported OS**
+
+GNU LDTP is a GNU/Linux / Unix GUI application testing tool. It runs on GNU/Linux, Windows, Mac, Solaris, FreeBSD, NetBSD and Embedded environments ([[Palm source|http://www.access-company.com/about/opensource/contributions.html]]).
+
+**Supported application**
+
+As of now, GNU LDTP can test any GNOME-based GUI applications, which are accessibility-enabled, Mozilla, Openoffice.org, any Java application (should have a UI based on swing), KDE 4.x applications based on QT 4.8, Windows applications. LDTP can be used to perform functional, regression testing, so on.. of GUIs built out of the above mentioned GNOME, KDE, Windows and Java technologies.
+
+**Supported language**
+
+* [[Python|http://ldtp.freedesktop.org/user-doc/index.html]]
+* [[Java|http://ldtp.freedesktop.org/javadoc/]]
+* [[Ruby|http://ldtp.freedesktop.org/user-doc/index.html]]
+* [[Perl|http://ldtp.freedesktop.org/user-doc/index.html]]
+* [[C#|http://ldtp.freedesktop.org/user-doc/index.html]]
+* [[VB.NET|http://ldtp.freedesktop.org/user-doc/index.html]]
+* [[PowerShell|http://ldtp.freedesktop.org/user-doc/index.html]]
+* [[Clojure|https://github.com/RedHatQE/gnome.ldtp]]
+**Tutorial**
+
+_If you are a LDTP **beginner**, we recommend you to read the **GNU LDTP Tutorial** [[PDF|http://download.freedesktop.org/ldtp/doc/ldtp-tutorial.pdf]]_
+
+**Credit**
+
+VMware open sources Cobra - Windows version of LDTP works on Windows XP SP3 / Vista SP2 / Windows 7 SP1 / Windows 8.
+
+We encourage you to join the project and help us to create a robust, reliable and stable test tool/framework for Windows/Linux/Mac Desktops. Thanks to **GNOME** Accessibility team and **Microsoft** Accessibility team for their great work and their continuous support.
+[[!table header="no" class="mointable" data="""
+ [[News|News]] | [[Features|Features]] | [[Binary / Source download|Download]] | [[GIT|GIT]] | [[Documentation|Docs]] |
+ [[HOWTO|HOWTO]] | [[FAQ|FAQ]] | [[Bugs|Bugs]] | [[Mailing list / IRC|Mailing list / IRC]] | [[Projects_using_LDTP|Projects_using_LDTP]] | [[LDTP_Demo|LDTP_Demo]]
+ [[Object-Oriented_LDTP|Object-Oriented_LDTP]] | [[TeamMembers|TeamMembers]] | [[Planet LDTP|http://ldtp.freedesktop.org/planet]] | [[Google SoC|SoC]] | [[Platforms|FAQ/LDTPsupportedplatforms]] | [[LDTP_TODO|LDTP_TODO]]
+ [[Contribute|Contribute]] | [[LDTP forum|http://ldtp.myfastforum.org/index.php]] | [[Companies using LDTP|Companies using LDTP]] | | |
+"""]]
+
+This wiki is undergoing [[conversion]]. If you have a fd.o shell account, you can help!