Project proposal for Gnome Automation under the Google Summer of Code program Prashanth Mohan Email:prashmohan@gmail.com Website:http://www.prash.be Abstract ======== I am interested in Gnome Automation (http://live.gnome.org/SummerOfCode2006/Ideas) using the LDTP Linux Desktop Testing Project (http://ldtp.freedesktop.org) framework. I propose to automate Evolution (http://www.novell.com/products/evolution) a popular email client, Gnome Dictionary (http://live.gnome.org/GnomeUtils) a part of gnome-utils and Banshee (http://banshee-project.org) a music player and organiser. Brief Biography =============== I am a fourth year student at the College of Engineering, Guindy (Anna University) (http://annauniv.edu) doing my Bachelors in Computer Science Engineering. My detailed Resume is available at my website at http://prash.be/resume.html Previous involvement in the LDTP Project ======================================== I have been a developer for the LDTP project for around a year now. My work as of now have been: * Maintained the Ubuntu and Debian packages for ldtp (previously pyldtp) from versions 0.1.x to 0.3.x * Worked on the Python wrapper for LDTP * Wrote automated testing scripts for Gaim 1.5.x * Wrote automated testing scripts for Evolution Proposed project details ======================== Software Testing is increasingly being automated, with manual labour becoming costlier by the day. The LDTP framework is one such project which automates the testing of applications which are accessibility enabled. The at-spi layer is used to manipulate the GUI objects. Improvements to LDTP framework ------------------------------ The LDTP framework provides an API for use from python to access Gnome applications which are accessibility enabled. This automation is done using python scripts. `Record' is a utility which is already a part of LDTP. It converts a series of manual commands on the GUI into a series of code sequences in python using the corresponding LDTP API calls. The present version of `record' is incomplete. The process would be to complete the `record' utility. Also additions to the framework will have to be made in order to handle the following Test Suites. They include (not complete, only a preliminary overview): * Audio Capture and Comparison (for Music Player fucionalities) -- Similar to the Image capture and Comparison functionality. * Generate Keyboard and Mouse Registry events (http://developer.gnome.org/doc/API/2.0/at-spi/at-spi-cspi-Registry-queries.html) for the gnome-dictionary Test Suite Automation of Evolution 2.6 --------------------------- The Test Cases for Evolution are listed at http://go-evolution.org. The test cases that I propose to automate are: * Mailer Functionalities - POP - IMAP - Evolution Exchange * Calendar Functionalities * Task Functionalities Automation of Gnome Dictionary ------------------------------ A complete Test Suite for the gnome-dictionary executable. Which include the following Test Cases: * Finding Defenitions * Traversing between multiple Defenitions * Test cases for Find functionality * Adding/Removing dictionary sources Automation of Banshee Music Player/Organiser -------------------------------------------- The Banshee Music Player will be Automated for the following features: * Playback features - Play, Pause, Stop - Seeking - GUI functionality of 'Repeat and Shuffle' options * Playlist features - Create new playlist - Choosing and playing from playlist * Audio Library - Importing music Proposed Itinery ================