Loading ...
Sorry, an error occurred while loading the content.

994Re: Testing GTK based applications

Expand Messages
  • Piotr Kaluski
    Aug 16 10:13 AM
    • 0 Attachment
      Hi,
      This is the question I asked GTK development community:

      <question>
      Hi all,
      I am involved in development of Win32::GuiTest perl library. It is a
      light
      weight but yet powerful module for gui test automation. It works
      pretty
      well with standard Win32 applications.

      I am not going to bother you with details of gui test automation. If
      you
      are interested in finding out more you can check the link
      http://www.piotrkaluski.com/files/winguitest/docs/ch02.html .
      The general idea is that you have to find a window handle of a
      control and
      then send it a right message (via SendMessage).

      The problem with GTK is that when you inspect GTK application with
      spy++,
      all controls have a class name gdkChildWindow. So there is no way to
      figure out what messages should be send to them.
      The question is - do GTK controls inherit from standard Win32
      controls, or
      GTK team created its own controls from scratch?
      Is there any documentation on what messages can be sent to
      gdkChildWindow
      and what are their meanings?

      -Piotr
      </question>


      And this is the answer:

      <answer>
      Piotr Kaluski writes:
      > The question is - do GTK controls inherit from standard Win32
      > controls,

      Nope. No relation at all.

      > or GTK team created its own controls from scratch?

      Of course. That's what GTK *is*, a library of widgets, or "controls"
      in MS-speak.

      > Is there any documentation on what messages can be sent to
      > gdkChildWindow and what are their meanings?

      GTK+ widgets aren't controlled through window messages. Read the GTK+
      documentation.

      --tml
      </answer>


      After thinking a while, I came to the following conclusion and I am
      courious what is your opinion: we should not include GTK support in
      Win32::GuiTest for the same reason we should not include suport for
      Java. One of advantages of Win32::GuiTest (WGT) is its light weight.
      It is also simple to build - you need standard perl and MS compiler
      installation. Should we add GTK support, it will make it more complex.
      Secondly, WGT is based on assumption that you communicate with
      controls using messages. Adding GTK support would make the foundation
      more complex. I believe it would be more clean to have a seperate
      module for testing GTK GUIs. It would also give user a freedom to
      choose if he/she goes or doesn't go with GTK.


      -Piotr



      --- In perlguitest@yahoogroups.com, "Dennis K. Paulsen"
      <ctrondlpaulsden@y...> wrote:
      >
      > Yeah, the concepts between GTK and Windows based applications is a
      > bit different. If you have control over the GTK application/source-
      > code, you can use "that function" that sets a title for a window
      and
      > use it to uniquely identify the various widgets (buttons, etc.).
      > With that you can do some testing/interaction, but sort of cheesy.
      > Ideally we would have resources to come up with something better.
      :-(
      >
      > Regards,
      > D
      >
      > --- In perlguitest@yahoogroups.com, "Kurt Stelmar" <kstelmar@c...>
      > wrote:
      > > Yes – I've found the same, and it IS frustrating. I tried
      Winspy
      > as well,
      > > with the same lack of success. I don't have any ideas but I'd
      sure
      > like to
      > > see this capability added.
      > >
      > >
      > >
      > > Kurt
      > >
      > >
      > >
      > > _____
      > >
      > > From: perlguitest@yahoogroups.com
      > [mailto:perlguitest@yahoogroups.com] On
      > > Behalf Of Gábor Szabó
      > > Sent: Monday, August 01, 2005 9:35 AM
      > > To: perlguitest@yahoogroups.com
      > > Subject: [perlguitest] Testing GTK based applications
      > >
      > >
      > >
      > > It seem it is quite problematic to use Win32::GuiTest to automate
      > > applications
      > > written with some of the multi-platform toolkits. Actually this
      > does not
      > > seem to
      > > be the problem of the module as WinSpy
      > > http://www.catch22.net/software/winspy.asp
      > > cannot analyse these apps either.
      > >
      > > Earlier there was the Qt example that could not be fully
      automated
      > > (e.g. we could not managed to read the menu nor text in the
      > widgets)
      > > some major issues.
      > >
      > > Now as I am writing an application in GTK I have tried to test it
      > using
      > > Win32::GuiTest with very limited success. (WinSpy also failed),
      > > Basically while I could see the list of child windows, each one
      > had the
      > > same gdkChildWindow type and each one had the same title: the
      name
      > of
      > > the program. This happened both in Win32::GuiTest and in WinSpy.
      > >
      > > I think it would be very good if we could find a way to automate
      > these
      > > applications
      > > either within the Win32::GuiTest framework our outside of it.
      > >
      > > The GTK application was actually written in the Perl bindings of
      > GTK and can
      > > be
      > > downloaded from here: http://www.szabgab.com/gtk2.html
      > >
      > > Any ideas here ?
      > > Maybe an idea where else to discuss this ?
      > >
      > > Gabor
      > >
      > >
      > >
      > > SPONSORED LINKS
      > >
      > >
      > > C
      > > <http://groups.yahoo.com/gads?
      > t=ms&k=C+programming+language&w1=C+programming
      > >
      > +language&w2=Computer+programming+languages&w3=T
      he+c+programming+lang
      > uage&w4
      > >
      > =C+++programming+language&w5=List+of+programming
      +languages&w6=Program
      > ming+la
      > > nguages&c=6&s=188&.sig=uAODdjBuPf2AFmZC4D7SEA> programming
      > language
      > >
      > > Computer
      > > <http://groups.yahoo.com/gads?
      > t=ms&k=Computer+programming+languages&w1=C+pro
      > >
      > gramming+language&w2=Computer+programming+langua
      ges&w3=The+c+programm
      > ing+lan
      > >
      > guage&w4=C+++programming+language&w5=List+of+pro
      gramming+languages&w6
      > =Progra
      > > mming+languages&c=6&s=188&.sig=y_P2xIdODNaACD_DIso--g>
      programming
      > > languages
      > >
      > > The
      > > <http://groups.yahoo.com/gads?
      > t=ms&k=The+c+programming+language&w1=C+program
      > >
      > ming+language&w2=Computer+programming+languages&
      w3=The+c+programming+
      > languag
      > >
      > e&w4=C+++programming+language&w5=List+of+program
      ming+languages&w6=Pro
      > grammin
      > > g+languages&c=6&s=188&.sig=LYwwGQcbg4iMgXAcxGNaUQ> c programming
      > language
      > >
      > >
      > > C
      > > <http://groups.yahoo.com/gads?
      > t=ms&k=C+++programming+language&w1=C+programmi
      > >
      > ng+language&w2=Computer+programming+languages&w3
      =The+c+programming+la
      > nguage&
      > >
      > w4=C+++programming+language&w5=List+of+programmi
      ng+languages&w6=Progr
      > amming+
      > > languages&c=6&s=188&.sig=vc-tNFvVPlU95RrPUEEQWw> programming
      > language
      > >
      > > List
      > > <http://groups.yahoo.com/gads?
      > t=ms&k=List+of+programming+languages&w1=C+prog
      > >
      > ramming+language&w2=Computer+programming+languag
      es&w3=The+c+programmi
      > ng+lang
      > >
      > uage&w4=C+++programming+language&w5=List+of+prog
      ramming+languages&w6=
      > Program
      > > ming+languages&c=6&s=188&.sig=N4t1_rAV70WeS0TXNSIuwg> of
      > programming
      > > languages
      > >
      > > Programming
      > > <http://groups.yahoo.com/gads?
      > t=ms&k=Programming+languages&w1=C+programming+
      > >
      > language&w2=Computer+programming+languages&w3=Th
      e+c+programming+langu
      > age&w4=
      > >
      > C+++programming+language&w5=List+of+programming+
      languages&w6=Programm
      > ing+lan
      > > guages&c=6&s=188&.sig=VzaKrIWH0EAAnzSwDNT1XQ> languages
      > >
      > >
      > >
      > > _____
      > >
      > > YAHOO! GROUPS LINKS
      > >
      > >
      > >
      > > * Visit your group "perlguitest
      > > <http://groups.yahoo.com/group/perlguitest> " on the web.
      > >
      > > * To unsubscribe from this group, send an email to:
      > > perlguitest-unsubscribe@yahoogroups.com
      > > <mailto:perlguitest-unsubscribe@yahoogroups.com?
      > subject=Unsubscribe>
      > >
      > > * Your use of Yahoo! Groups is subject to the Yahoo!
      > > <http://docs.yahoo.com/info/terms/> Terms of Service.
      > >
      > >
      > >
      > > _____
      > >
      > >
      > >
      > > [Non-text portions of this message have been removed]
    • Show all 8 messages in this topic