[LDTP-Dev] Integration of LDTP with TOMATO

Nagappan anagappan at novell.com
Sun Oct 2 23:25:10 PDT 2005

Hi Saravana,
    Kindly file this an enhancement request in


Saravana Prabhu wrote:
> Thanks a lot Nagappan. I am back after discussing with my team. It woudl be great if we can have the following two Python APIs:
> 1. Given the application name, it returns the list (a Python List) of windows in that application.
> 2. Given the Window name, it returns the list (a Python List) of components in that window.
> I believe, by these APIs, we get the updated list of windows and components list including the components that are dynamically added to your hash table.
> Thanks & Regards,
> Saravana
>>>> "Saravana Prabhu" <sprabhu at novell.com> 09/29/05 5:27 PM >>>
> Nagappan: Wow, its indeed a fast reply. Thanks for the information. Let
> me consult with my team and get back to you in a day.
> Saravana
>>>> "A Nagappan" <anagappan at novell.com> 09/29/05 4:25 PM >>>
> Hi Saravana,
>   Its a great news for us !!! LDTP is growing ;)
> Application map hash table storage format:
> We have 3 layers of hash table.
> - First layer contains the information about each window with respect
> to
> the application we are tesing. Example: With respect to gedit
> application, main gedit window, open dialog, save dialog, print
> dialog,
> preference dialog are some of the windows and they are stored
> individually
> - Second layer contains the information about individual objects in
> the
> window. Example: With respect to open file dialog of gedit, it
> contains
> two different tables (shortcuts, files), push buttons like open,
> cancel,
> add, remove. Combo box like Character encoding, all files / all text
> files.
> - Third layer contains the information about each individual object
> information. Example: Object properties information will be stored
> like,
> class=push_button, label=Open, child_index=5, parent=dlgOpenFile
> As of now we don't have a direct mechanism to get the hash table
> information from LDTP by any external application. If required, we can
> expose Python binding. So that you can access them. We may need to
> decide the format in which the hash table will be given to external
> application. Maybe as a list ?
> Thanks
> Nagappan
> Nagappan A <anagappan at novell.com>
> Linux Desktop Testing Project - http://gnomebangalore.org/ldtp 
> http://nagappanal.blogspot.com 
>>>> "Saravana Prabhu" <sprabhu at novell.com> 09/29/05 3:57 PM >>>
> Hi,
> Does TOMATO sounds funny, but its a new approach of collaborating many
> test automation framework ideas and test automation engines. (Donot
> ask
> me what is the expansion of TOMATO, tell me if you find it ;) )
> I am Saravana. We as a team is in the process of integrating LDTP with
> TOMATO ( http://forge.novell.com/modules/xfmod/project/?tomato ).
> What is TOMATO?
> Tomato is an abstraction layer for automation engines. Its design
> allows automation scripts or tests to be written in one language,
> against one library, and remain portable across different
> architectures,
> OS platforms, and even widely different automation engines.(e.g.
> Mercury
> Interactive's WinRunner product - WinRunner Automation Framework
> Support
> - WRAFS, or the Linux Desktop Test Project). At present we have
> integrated WRAFS with TOMATO. We are in the process of integrating
> with TOMATO.
> Why is this integration needed?
> To be more simple if I have an application(say ABC) that runs on both
> LINUX and Windows. If I want to run test cases related to that
> application ABC on both Linux and Windows. I need to write the test
> scripts twice in different flavaours(once for Windows and once for
> Linux) if I am NOT using a framework like TOMOTO. But incase if I have
> test scripts written using TOMATO that runs fine for that application
> ABC on Windows. Once this integration of LDTP with TOMATO is complete
> I
> can use the same test scripts to test the application ABC on Linux.
> How are we going to proceed?
> We are going to write a wrapper for the functions in LDTP. The wrapper
> will be a mapping between the functions in TOMATO and LDTP. The
> partial
> list of what all comands are there in TOMOATO can be found in the link
> http://forgeftp.novell.com//tomato/doc/CommandDefinitions.htm .  
> Assistance Needed:
> (The input to the TOMATO framework will be Python Scripts)
> Actually if I want to click on the push button (say "BtnOk") on the
> the
> dialog (say "DlgLogin"). The Tomato function would look like
> Click('DlgLogin','BtnOk'). TOMATO also treats the windows and
> components in the Application Under Test as python objects. so we can
> achieve the same click operation by using DlgLogin['BtnOk'].Click().
> We
> have to give the information about the windows and the components in
> the
> application to TOMATO framework and the framework will construct the
> corresponding python objects. 
> Intially we had a plan of parsing the application map(.map file) which
> is used by LDTP and construct the python objects. Learnt that LDTP has
> the capability to add the windows and components details to the Hash
> Table during teh execution dynamically(LDTP Team: Correct me if I am
> wrong). So those objects that were recognized dynamically by LDTP will
> not be present in TOMATO as python objects. This will end up in some
> commands not getting executed though such objects are physically
> present
> in the application. What we need basically is:
> 1. I believe you guys construct a Hash Table using the app map (.map
> file). Plz explain the details of the hash table structure yoy guys
> use.
> 2. Is there a way by which I can get those dynamically generated hash
> table entries?
> Plz feel free to revert incase more clarity is needed in the above
> explanation.
> Thanks & Regards,
> Saravana
> _______________________________________________
> ldtp-dev mailing list
> ldtp-dev at forge.novell.com 
> http://forge.novell.com/mailman/listinfo/ldtp-dev 
> _______________________________________________
> ldtp-dev mailing list
> ldtp-dev at forge.novell.com 
> http://forge.novell.com/mailman/listinfo/ldtp-dev

Nagappan A <anagappan at novell.com>
Novell Software Development (I) Pvt. Ltd.
Linux Desktop Testing Project - 

More information about the Ldtp-dev mailing list