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

Re: [perlguitest] Re: Testing GTK based applications

Expand Messages
  • Gábor Szabó
    ... I don t have anything compiled but on this page you ll find my demo/tutorial app that is written in Perl. http://www.szabgab.com/gtk2.html Use it for
    Message 1 of 8 , Aug 14, 2005
      On 8/15/05, Piotr Kaluski <pkaluski@...> wrote:
      > Can you guys send me an example of GTK application (preferably a
      > compiled executable, so I don't have to setup a compilation
      > environment myself)

      I don't have anything compiled but on this page you'll find
      my demo/tutorial app that is written in Perl.
      http://www.szabgab.com/gtk2.html

      Use it for black-box testing.

      Here you'll find instructions on how to install Gtk2 on Windows
      and where to the the Perl modules from.
      http://gtk2-perl.sourceforge.net/platforms/

      I'll try to see if I can get something compiled
      later on.

      Gabor
    • Piotr Kaluski
      Hi, This is the question I asked GTK development community: Hi all, I am involved in development of Win32::GuiTest perl library. It is a light
      Message 2 of 8 , Aug 16, 2005
        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]
      • Steven Lloyd
        In my opinion, I think that it is more important to develop support for more advanced win32 controls like SysTreeView32 and .net support. As an automation
        Message 3 of 8 , Aug 16, 2005
          In my opinion, I think that it is more important to develop support for
          more advanced win32 controls like SysTreeView32 and .net support. As an
          automation tool, most windows applications that you will be automating
          will be using the standard windows controls.

          Steve Lloyd
          http://www.basgetti.com

          > 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]
          >
          >
          >
          >
          >
          >
          > Yahoo! Groups Links
          >
          >
          >
          >
          >
          >
          >


          --
          <a href="http://www.thetreasuredbox.com">Hooded Bath Towels</a><br>
        • Gábor Szabó
          ... I also agree that it should be in a separate module but as the subject is related I raised the original issue here as well. As of what is more important as
          Message 4 of 8 , Aug 21, 2005
            On 8/16/05, Piotr Kaluski <pkaluski@...> wrote:
            >
            > 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.

            I also agree that it should be in a separate module but as the subject is
            related I raised the original issue here as well.

            As of what is more important as Steven raised,
            I don't really have a way to compare the two issues.
            The one you need to test today is more important to you today.
            Otherwiase they are unrelated.

            Gabor
          Your message has been successfully submitted and would be delivered to recipients shortly.