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
================