LDTP - Your inputs will drive us



Hi,
    I'm working on a project Linux Desktop Testing Project
(www.gnomebangalore.org/ldtp/index.html).

We have targeted only the applications based on GNOME / GTK. After our
initial release we may target the other desktop environment. There are
already test tools available. We have evaluated some test tools. But we
don't find them suitable. We are targeting something similar to
WinRunner in Windows. A student from Germany (Alex) contributed
libgtkauto for our test project. I'm working with him in my free time
and making this library a modular one. Still its in initial phase.

Flow of libgtkauto: The current implementation is done in C and GTK
module. So, this code can be plugged into any GTK applications at
run-time. Event signal is registered and for each event, the hooked code
gets the control. Still lots of bugs in the code and we are gradually
developing. At present this works as record / play-back tool.

My role in this project: I'm co-ordinating the libgtkauto project. I'm
also adding few functionalities like, get and set values in a edit box,
identifying which object we have clicked and which window has popped-up
and so on.

Apart from the above mentioned work, I'm also thinking of integrating
other languages into this. I don't have idea, how to do and I'm not
sure, this will work or not ? The reason why I thought this way is; we
already have Python-GTK, Perl-GTK, Java-GTK, Guile-GTK, Tcl-GTK
implementation available. If I make the code in such a way that, if
somebody else can implement a feature / functionality in the language
they know, then, over a period of time, this tool will become a very
good success. So, for I have made 3 assumptions (I'm only in study
phase), I want to clarify this.

1) Bonobo based implementation - I can write a bonobo interface, which
will have 2 functions. First function, basically sets some object
(GObject) value in a global variable and also emit a new signal (new
signal will be registered from C GTK module) and the second function
will return the object value which has been set already. Now, from my
existing C / GTK module, I will just set the object, which is newly
created by me (Inside my C GTK module). Before doing this, assume I have
a Python program and that will be invoked before starting the actual
application for testing. Say, now the Python program is running. Inside
the Python code, I have registered for the signal and whenever the new
signal is generated, I will just call the get object interface (written
inside the bonobo interface). Once again, I confirm you that, this is
just my assumption and I'm not sure, how I'm going to do this ;)

2) Using D-BUS, I can pass objects between two different applications.
First application is the actual GTK application with the C GTK module.
Second application my be in Python and a standalone one. I'm not sure,
how the signals can be passed between 2 different applications.

3) If Python / Perl / Java / Guile / Tcl provides a function like
gtk_module_init, then all my problems may be solved :) I can register
for the new signal inside my new module written in Python or some other
language apart from C. So, I will get a control with the object value
inside my registered function. Again, I'm not sure, this function is
available in other languages.

Please give me your inputs; Is my assumption correct ? Will my
assumption work ? Is there an easy way to implement it ? If so, please
provide me some pointers to start with. Sorry to bother you with such a
big mail :) The second assumption, I got from PyGTK IRC channel. Please
correct me where ever I'm wrong ? I want somehow this project to be a
successful one ;) If I need to contact somebody else also, please
suggest me somebody.

Thanks
Nagappan

-- 
Nagappan <anagappan novell com>
Novell Software Development (I) Ltd




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]