<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.7.6">
</HEAD>
<BODY>
<B>LDTP Newsletter</B><BR>
<BR>
<BR>
<B>Issue IV - 30 September 2005</B><BR>
<BR>
Welcome to the fourth issue of LDTP Newsletter!. Its my pleasure to inform you about this release of LDTP which comes in with loads of features. This newsletter also includes latest news on our approach towards achieving an automated test engine. Useful references have been included at the end of this article for those who wish to hack/use LDTP.<BR>
<BR>
LDTP is now at version <I>0.2.0. </I><BR>
<BR>
<B>Prerequisites and Installation Summary:</B><BR>
<BR>
Following are the requirements for setting up LDTP<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +&nbsp; Python 2.3 or higher<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +&nbsp; Python Imaging Library<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +&nbsp; libstatgrab and pystatgrab [please use the development snapshot for libstatgrab which includes an important fix for a crasher bug]<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; You can download these libraries from <A HREF="http://www.i-scream.org/">here</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +&nbsp; Import utility of ImageMagick<BR>
<BR>
&nbsp;&nbsp;&nbsp; You can download the latest version of LDTP from <A HREF="http://gnomebangalore.org/ldtp/index.php/Downloads">here.</A> LDTP is available in rpm as well as deb package format. For a step by step instruction on setting up LDTP please refer <A HREF="http://gnomebangalore.org/ldtp/index.php/How_to_setup_PY-LDTP_in_NLD">http://gnomebangalore.org/ldtp/index.php/How_to_setup_PY-LDTP_in_NLD</A><BR>
<BR>
<B>Whats New in this release:</B><BR>
<BR>
* New Searching Algorithm ('Prem'):<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The searching algorithm used by pyldtp to capture the accessibility handle of the required GUI object has been changed to the new algorithm. This new algorithm uses the child index of every object with respect to its parent to identify a path to the child from the window handle. Here, by path I mean the list of GUI handles which forms the ancestors of the required object. Thus this new algorithm increases performance by many folds by reducing the time taken for getting the accessibility handle of a gui object. Things like instance index and relevant index are no longer used in the searching algorithm.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Verification of the obtained handle is done using the label/label-by field.<BR>
<BR>
* New Appmap generation ('Prem'):<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For the above explained algorithm to work, the appmap generated should contain the parent name and the child index with respect to its parent for every object. Hence the appmap module has been changed to provide the required values in the generated application map.<BR>
<BR>
* pyldtpeditor ('Shaheed'):<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Herecomes the most interesting part. This release includes a new editor custom built for LDTP. Using this editor we can do the following <BR>
+ Write automation scripts<BR>
+ Create the xml file for gldap with the list of scripts along with their data files<BR>
+ Create data xml file for the scripts in an easy way.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For more detailed help on using this new editor please follow this <A HREF="http://gnomebangalore.org/ldtp/index.php/Howto_use_LDTP_Editor">link</A> <BR>
<BR>
* Performance monitoring API ('Subodh'):<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This release includes a new performance monitoring API using which we can log performance related statistics of a particular process simultaneously while executing the automation scripts. For this we make use of libstatgrab and pystatgrab. This library provides a common set of APIs across different flavours of Linux, solaris and BSD. So it became an ideal choice for LDTP. For more information on these libraries please refer this <A HREF="http://www.i-scream.org/libstatgrab">link</A><BR>
<BR>
* gldap ('Nags'):<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This release includes a new utility called gldap which accounts for group based execution of individual automation scripts. Apart from group based execution, this utility will help one to gain control of the flow of execution of scripts and relieves the script writer from some logging and initialisation work that is common to all scripts.<BR>
<BR>
* DataFileParser ('Nags'):<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hereafter all the scripts would be using xml based data files. To achieve this we will be using this new utility called 'DataFileParser' which comes as part of the ldtputils module in pyldtp. This utility will relieve the script writer from the pain of parsing the data file by himself and also provides a consistant data format across all scripts.<BR>
<BR>
* New component functions:<BR>
+ Bug #<A HREF="http://bugzilla.gnome.org/show_bug.cgi?id=316045">316045</A> - Three new component functions for handling text properties ('Prem')<BR>
+ Bug #<A HREF="http://bugzilla.gnome.org/show_bug.cgi?id=316046">316046</A> - API to select a date in the calender object ('Prem')<BR>
+ Bug #<A HREF="http://bugzilla.gnome.org/show_bug.cgi?id=316047">316047</A> - 'gettextvalue' to get the current value of the combo box ('Prem')<BR>
+ Bug #<A HREF="http://bugzilla.gnome.org/show_bug.cgi?id=316681">316681</A> - 'doesrowexist' to check if a Table/TreeTable contains a given string in any of its rows ('Prem')<BR>
+ 'selecttabindex' - New API for selecting a page tab based on tab index. ('Nags')<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + 'remap' and 'undoremap' - To deal with gui objects created at runtime ('Prem')<BR>
<BR>
<B>Major Bug Fixes:</B><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + Following bugs have been fixed in this release - #<A HREF="http://bugzilla.gnome.org/show_bug.cgi?id=315009">315009</A>, #<A HREF="http://bugzilla.gnome.org/show_bug.cgi?id=315276">315267</A>, #<A HREF="http://bugzilla.gnome.org/show_bug.cgi?id=316270">316270</A>, #<A HREF="http://bugzilla.gnome.org/show_bug.cgi?id=316351">316351</A> ('Prem')<BR>
<BR>
<B>Important News and Facts About LDTP:</B><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + LDTP CVS has been moved to freedesktop.org. Please follow this <A HREF="http://cvs.freedesktop.org/ldtp/">link</A> to browse the CVS repository. Please use our mailing list in freedesktop.org henceforth.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + Varadhan has been using LDTP for hacking memory leaks in Evolution. For more information please refer this <A HREF="http://mail.gnome.org/archives/evolution-hackers/2005-September/msg00133.html">link</A>.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + Saravana is working on integrating LDTP with TOMATO. Please follow this <A HREF="http://forge.novell.com/modules/xfmod/project/?tomato">link</A> for more information on this.<BR>
<BR>
<B>Known Issues:</B><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + Remap component function fails when used with windows whose label has changed.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + Due to changes in pyldtp and appmap modules, most of the automation scripts available in pyautosuite will break. Hopefully those scripts will be ported to the current version of pyldtp and appmap ASAP.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + Existing scripts should be changed to make use of gldap and DataFileParser.<BR>
<BR>
<B>References:</B><BR>
<BR>
All the published newsletters including the current one can be downloaded from <A HREF="http://gnomebangalore.org/ldtp/index.php/Newsletters.">http://gnomebangalore.org/ldtp/index.php/Newsletters.</A><BR>
<BR>
For release notes of every release including the current one please refer <A HREF="http://gnomebangalore.org/ldtp/index.php/Release_Notes">http://gnomebangalore.org/ldtp/index.php/Release_Notes</A><BR>
<BR>
For information on various API s in LDTP including those added for this release can be got from <A HREF="http://gnomebangalore.org/ldtp/index.php/API_Reference">http://gnomebangalore.org/ldtp/index.php/API_Reference</A><BR>
<BR>
For detailed information on LDTP framework and latest updates visit <A HREF="http://gnomebangalore.org/ldtp/">http://gnomebangalore.org/ldtp/</A><BR>
<BR>
For the latest news on LDTP please visit <A HREF="http://gnomebangalore.org/ldtp/index.php/News">http://gnomebangalore.org/ldtp/index.php/News</A><BR>
<BR>
To subscribe to LDTP mailing lists, visit <A HREF="http://gnomebangalore.org/ldtp/index.php/Mailing_List">http://gnomebangalore.org/ldtp/index.php/Mailing_List</A><BR>
<BR>
IRC Channel - #ldtp on irc.gimp.org<BR>
<BR>
<BR>
For suggestions to improve this newsletter, please write to <A HREF="mailto:jpremkumar@novell.com">jpremkumar@novell.com</A><BR>
<BR>
</BODY>
</HTML>