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

Re: [agile-testing] test automation problem

Expand Messages
  • Brian Marick
    ... Here s a solution using Watir (http://wtr.rubyforge.org/). It assumes the HTML wasn t designed to be tested. (It would be easier if elements had ids or if
    Message 1 of 28 , Mar 21, 2006
    • 0 Attachment
      On Mar 20, 2006, at 7:17 PM, Ricardo Fernandes wrote:
      > imagine a table like:
      >
      > name1 anotherName1 []
      > name2 anotherName2 []
      >
      > (imagine [] is a checkbox)
      >
      > I want to click in a particular checkbox.

      Here's a solution using Watir (http://wtr.rubyforge.org/). It assumes
      the HTML wasn't designed to be tested. (It would be easier if
      elements had ids or if the checkbox had a name related to the name in
      the first cell.) Hope I understood the problem.

      The HTML:
      <!DOCTYPE html
      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

      <html> <head><title>Picker</title></head>

      <body>
      <h1>Picker</h1>

      <form action="pick">

      <table style="border: 1px solid black;">
      <tr>
      <td style="border-bottom: 1px dashed black;">
      name1
      </td>
      <td style="border-bottom: 1px dashed black;">
      another name 1
      </td>
      <td style="border-bottom: 1px dashed black;">
      <input type="checkbox" name="blah"/>
      </td>
      </tr>
      <tr>
      <td>
      name2
      </td>
      <td>
      another name 2
      </td>
      <td>
      <input type="checkbox" name="foo"/>
      </td>
      </tr>
      </table>

      </body> </html>


      Here's the code:

      require 'watir'
      include Watir

      class Browser

      def initialize(page)
      @ie = IE.new
      @...(page)
      end

      def form_table
      # Only way to get the table, since it has no id, is to
      # know that it's the first table on the page.
      @...(:index, 1)
      end

      def row_named(name)
      # Why, if there's each, doesn't Watir have find?
      form_table.each { | row |
      return row if row[1].text == name
      }
      nil
      end

      def set_checkbox_in_row_named(name)
      # We can't deduce the checkbox's name, but we
      # know it's the checkbox in the third cell of this row.
      checkbox_cell = row_named(name)[3]
      checkbox_cell.checkbox(:index, 1).set
      end

      end


      browser = Browser.new("c:/temp/pick.html")
      browser.set_checkbox_in_row_named('name2')


      -----
      Brian Marick, independent consultant
      Mostly on agile methods with a testing slant
      www.exampler.com, www.testing.com/cgi-bin/blog
      Book in progress: www.exampler.com/book
    • Ricardo Fernandes
      Yes, you understood exactly what I was looking for. I came up with a similar solution using Rational Functional Tester. But the code in watir is simpler. In
      Message 2 of 28 , Mar 21, 2006
      • 0 Attachment
        Yes, you understood exactly what I was looking for.
         
        I came up with a similar solution using Rational Functional Tester. But the code in watir is simpler. In RFT we need to handle some more details about tables.
         
        Thanks very much.
         
        Let´s see if someone suggest any other tool and a solution to this very common problem in web bases apps.
         
        ricardo fernandes
         
        On 3/21/06, Brian Marick <marick@...> wrote:

        On Mar 20, 2006, at 7:17 PM, Ricardo Fernandes wrote:
        > imagine a table like:
        >
        > name1 anotherName1 []
        > name2 anotherName2 []
        >
        > (imagine [] is a checkbox)
        >
        > I want to click in a particular checkbox.

        Here's a solution using Watir (http://wtr.rubyforge.org/ ). It assumes
        the HTML wasn't designed to be tested. (It would be easier if
        elements had ids or if the checkbox had a name related to the name in
        the first cell.) Hope I understood the problem.

        The HTML:
        <!DOCTYPE html
        PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

        <html> <head><title>Picker</title></head>

        <body>
        <h1>Picker</h1>

        <form action="pick">

        <table style="border: 1px solid black;">
          <tr>
            <td style="border-bottom: 1px dashed black;">
              name1
            </td>
            <td style="border-bottom: 1px dashed black;">
              another name 1
            </td>
            <td style="border-bottom: 1px dashed black;">
              <input type="checkbox" name="blah"/>
            </td>
          </tr>
          <tr>
            <td>
              name2
            </td>
            <td>
              another name 2
            </td>
            <td>
              <input type="checkbox" name="foo"/>
            </td>
          </tr>
        </table>

        </body> </html>


        Here's the code:

        require 'watir'
        include Watir

        class Browser

               def initialize(page)
                       @ie = IE.new
                       @...(page)
               end

               def form_table
                       # Only way to get the table, since it has no id, is to
                       # know that it's the first table on the page.
                       @...(:index, 1)
               end

               def row_named(name)
                       # Why, if there's each, doesn't Watir have find?
                       form_table.each { | row |
                               return row if row[1].text == name
                       }
                       nil
               end

               def set_checkbox_in_row_named(name)
                       # We can't deduce the checkbox's name, but we
                       # know it's the checkbox in the third cell of this row.
                       checkbox_cell = row_named(name)[3]
                       checkbox_cell.checkbox(:index, 1).set
               end

        end


        browser = Browser.new("c:/temp/pick.html")
        browser.set_checkbox_in_row_named ('name2')


        -----
        Brian Marick, independent consultant
        Mostly on agile methods with a testing slant
        www.exampler.com, www.testing.com/cgi-bin/blog
        Book in progress: www.exampler.com/book




      • Lisa Crispin
        If I were you I d certainly think of ways to encourage the programmers to do automated unit testing. That s definitely the best ROI and will cause them to
        Message 3 of 28 , Mar 21, 2006
        • 0 Attachment
          If I were you I'd certainly think of ways to encourage the programmers
          to do automated unit testing. That's definitely the best ROI and will
          cause them to have to write more testable code, helping you in
          numerous ways. (I recommend "Fearless Change" by Rising and Manns to
          help you in this quest). Try to weasel your way into their lives and
          work together as much as you can. Enlist their help in your own
          automation efforts. It isn't impossible.

          Meanwhile, the tool I had the best luck with on my own, while the
          programmers were busy trying to figure out how to automate unit tests,
          was Canoo WebTest (webtest.canoo.com). It's open source, has a great
          community and great support via the mailing list and bug tracking
          site, decent user manual, is fairly programmer-friendly as well as
          being relatively easy for a non-programmer (but somewhat technical
          person) to learn.

          If you have capable programmers/scripters on your team, see Brian's
          post about Watir. It's a powerful tool but the learning curve is
          steep if you aren't a programmer already and don't have a programmer
          to help you. Because it's relatively new, the documentation isn't
          that great for newbies.

          I'm sure there are many other tools that could help, but those are the
          two I can personally recommend.
          -- Lisa

          On 3/20/06, franksting <mymailinglists@...> wrote:
          > ah 'needs' the means to an end!
          >
          > I'm in a situation similar to Ricardo, though as usual I feel my
          > needs are greater (don't we all).
          > Some advice on where I could go would be much appreciated, but first
          > let me give a small piece of background.
          > I don't want our test team to automate for automations sake, so
          > because of this I want to spend time finding the right tool.
          > Unfortunately, there are a number of limitations, constraints and a
          > huge variation of inputs into this decision making process. Sounds
          > like developing some software right?
          > 1. We have developers who develop on a number of platforms
          > 2. We have some developers who unit test and most who don't
          > 3. WE have no guarantee that the code will be written in such a way
          > that enables to do our automation easier
          > 4. WE have a small test team who MUST keep existing projects moving
          > toward release
          > 5. We have little or no budget for buying those big testtools that
          > everyone else seems to use
          > 6. On a positive note I have two very capable testers who have had
          > experience in Test Automation in the past (but see point 4)
          > 7. At this point, I have set a deadline for test automation, in that
          > we must have the ability to automate areas of the testing of any
          > project within a specific timeframe and created a team to investigate
          > our babysteps! However, see point 5!
          >
          > So my dear friends (and I want to keep this at least tangentially
          > related to agile testin), are there any tools or methods or intial
          > baby steps that are recommended? Reading material, other resources?
          > Can I rack my brain to remember the conversation I had in Canberra
          > with Michael Bolton last August at STANZ where much of this was
          > discussed over a number of beverages? Am I clutching at straws and
          > should I hire a scripting guru who can do it all for me by taking the
          > time to talk to everybody?
          >
          > Oh by the way, this is my first post, so if I am OT on Agile Testing,
          > feel free to bring me back into line! I appreciate that people are
          > more important than tools and processes, but each must complement the
          > other and I am not too pushed about investing in the bigtime tools
          > mentioned above anyway!
          >
          > Thanks for your time and I hope Ricardo gets his question answered as
          > well!!!
          >
          > Regards
          >
          > Gavin
          >
          > On 21/03/2006, at 3:34 PM, Michael Bolton wrote:
          >
          > > Is this a Web-based application? What is your platform? The only
          > > "best"
          > > automation tool for you is the one that fits your needs. What are
          > > your
          > > needs?
          > >
          > > ---Michael B.
          >
          >
          >
          >
          > Yahoo! Groups Links
          >
          >
          >
          >
          >
          >
          >
        • chrs_mcmhn
          ... yet is: http://narayanraman.blogspot.com/2006/03/sahi-vs-selenium-vs-watir.html Any of these three will do what you want, as will SAMIE (written in Perl).
          Message 4 of 28 , Mar 21, 2006
          • 0 Attachment
            > I´m part of an automation force team and we´re looking for the best
            > automation tool (one that fits our needs).
            > The situation we´re facing and we didn´t find any elegant solution
            yet is:

            http://narayanraman.blogspot.com/2006/03/sahi-vs-selenium-vs-watir.html

            Any of these three will do what you want, as will SAMIE (written in Perl).

            Are you required to do cross-browser testing? Don't use Watir.
            (although I'm itching to try FireWatir, the Watir-for-Firefox project
            that just released version 1.0)

            Do your pages have frames? Don't use Selenium.

            Sahi I don't know much about, but it looks very promising.

            All in all, I like Watir because it's powerful in and of itself, is
            written in Ruby which is a very nice programming language, has a good
            mail list, and is not fussy about where it runs or how the web pages
            are built.

            -Chris
          • Brian Marick
            ... Blatant self-promotion: People who read my forthcoming _Scripting for Testers_, do the exercises, and eat their vegetables will find it easy to write Watir
            Message 5 of 28 , Mar 21, 2006
            • 0 Attachment
              On Mar 21, 2006, at 12:32 PM, Lisa Crispin wrote:

              > If you have capable programmers/scripters on your team, see Brian's
              > post about Watir. It's a powerful tool but the learning curve is
              > steep if you aren't a programmer already and don't have a programmer
              > to help you.

              Blatant self-promotion: People who read my forthcoming _Scripting for
              Testers_, do the exercises, and eat their vegetables will find it
              easy to write Watir scripts. (It actually took me more time to write
              the HTML, and I'm a casual Watir user at best.)

              -----
              Brian Marick, independent consultant
              Mostly on agile methods with a testing slant
              www.exampler.com, www.testing.com/cgi-bin/blog
              Book in progress: www.exampler.com/book
            • Danny R. Faught
              ... My tool of choice for web automation is Perl and the WWW::Mechanize module. I tend to do load testing with it, and can simulate a lot of users with it on
              Message 6 of 28 , Mar 21, 2006
              • 0 Attachment
                > From: "Ricardo Fernandes" <ricofernandes@...>

                > I´ve come up with a solution using Rational Functional Tester. But it´s not
                > so good as I expected.
                >
                > Does anybody already faced that problem and came up with some solution? It
                > could be with any testing tool available.

                My tool of choice for web automation is Perl and the WWW::Mechanize
                module. I tend to do load testing with it, and can simulate a lot of
                users with it on one system. But beware that the module is poorly
                documented, like so many other free tools.

                > From: franksting <mymailinglists@...>

                > I'm in a situation similar to Ricardo, though as usual I feel my
                > needs are greater (don't we all).
                > Some advice on where I could go would be much appreciated,

                I think my article (coauthored with James Bach) "Not Your Father’s Test
                Automation: An Agile Approach to Test Automation" would give you some
                ideas. One main point - it not just about automating test execution,
                and another important point is to do it incrementally. See
                http://www.stickyminds.com/s.asp?F=S8392_COL_2 and feel free to discuss
                further here. I apply this concept every day.
                --
                Danny R. Faught
                Tejas Software Consulting
                http://tejasconsulting.com/
              • chrs_mcmhn
                ... Mech is nice as long as you don t need to poke any client-side stuff like Javascript. I didn t think we were discussing useragent-based tools, but they re
                Message 7 of 28 , Mar 21, 2006
                • 0 Attachment
                  > My tool of choice for web automation is Perl and the WWW::Mechanize
                  > module. I tend to do load testing with it, and can simulate a lot of
                  > users with it on one system. But beware that the module is poorly
                  > documented, like so many other free tools.

                  Mech is nice as long as you don't need to poke any client-side stuff
                  like Javascript. I didn't think we were discussing useragent-based
                  tools, but they're certainly worth considering.
                  -Chris
                • Pierre Garigue
                  I found that Watir is very good for testing using IE if your needs are to interaction with the site as a user would. If you are going the Ruby way, you may
                  Message 8 of 28 , Mar 21, 2006
                  • 0 Attachment

                     

                    I found that  Watir is very good for testing using IE if your needs are to interaction with the site as a 'user' would. If you are going the Ruby way, you may want to look at 'net/http' if you need to get at the 'guts' of the http transactions.

                    WW:Mechanize is very good and very mature. Unless it has changed since I last looked at it, it will not interpret JavaScript.

                    Cheers

                    Pierre Garigue

                    -----Original Message-----
                    From: chrs_mcmhn [mailto:christopher.mcmahon@...]
                    Sent: Tuesday, March 21, 2006 4:21 PM
                    To: agile-testing@yahoogroups.com
                    Subject: [agile-testing] Re: test automation problem


                    > My tool of choice for web automation is Perl and the WWW::Mechanize
                    > module.  I tend to do load testing with it, and can simulate a lot of
                    > users with it on one system.  But beware that the module is poorly
                    > documented, like so many other free tools.

                    Mech is nice as long as you don't need to poke any client-side stuff
                    like Javascript.  I didn't think we were discussing useragent-based
                    tools, but they're certainly worth considering.
                    -Chris




                  • Grig Gheorghiu
                    Here s another solution along the lines of net/http or WWW:Mechanize, this time using twill, a tool that s Python-based and that encapsulates a lot of the
                    Message 9 of 28 , Mar 21, 2006
                    • 0 Attachment
                      Here's another solution along the lines of net/http or WWW:Mechanize,
                      this time using twill, a tool that's Python-based and that encapsulates
                      a lot of the grungy work of dealing with HTTP and HTML. It's a testing
                      tool, so it has provisions for a lot of testing-specific constructs.

                      Solution courtesy of Titus Brown, the author of twill:

                      http://www.advogato.org/person/titus/diary.html?start=167

                      Since twill works at the HTTP level, it can't handle Javascript, but
                      that's not important for this problem.

                      Of course, at the end of the day, it comes down to Python vs. Ruby :-)

                      Grig

                      --- Pierre Garigue <pgarigue@...> wrote:

                      >
                      >
                      > I found that Watir is very good for testing using IE if your needs
                      > are to interaction with the site as a 'user' would. If you are going
                      > the Ruby way, you may want to look at 'net/http' if you need to get
                      > at the 'guts' of the http transactions.
                      >
                      > WW:Mechanize is very good and very mature. Unless it has changed
                      > since I last looked at it, it will not interpret JavaScript.
                      >
                      > Cheers
                      >
                      > Pierre Garigue
                      >
                      > -----Original Message-----
                      > From: chrs_mcmhn [mailto:christopher.mcmahon@...]
                      > Sent: Tuesday, March 21, 2006 4:21 PM
                      > To: agile-testing@yahoogroups.com
                      > Subject: [agile-testing] Re: test automation problem
                      >
                      >
                      >
                      > > My tool of choice for web automation is Perl and the WWW::Mechanize
                      >
                      > > module. I tend to do load testing with it, and can simulate a lot
                      > of
                      > > users with it on one system. But beware that the module is poorly
                      > > documented, like so many other free tools.
                      >
                      > Mech is nice as long as you don't need to poke any client-side stuff
                      > like Javascript. I didn't think we were discussing useragent-based
                      > tools, but they're certainly worth considering.
                      > -Chris
                      >
                      >
                      >
                      >
                      >
                      >
                      >
                      > SPONSORED LINKS
                      > Agile
                      >
                      <http://groups.yahoo.com/gads?t=ms&k=Agile+software+development&w1=Agile+software+development&w2=Software+development+project+management&w3=Software+development+project+plan&c=3&s=116&.sig=SZNof3u6WySYZiCPY7iMng>
                      > software development Software
                      >
                      <http://groups.yahoo.com/gads?t=ms&k=Software+development+project+management&w1=Agile+software+development&w2=Software+development+project+management&w3=Software+development+project+plan&c=3&s=116&.sig=xRgqf87dK8NkzHaVy67r5Q>
                      > development project management Software
                      >
                      <http://groups.yahoo.com/gads?t=ms&k=Software+development+project+plan&w1=Agile+software+development&w2=Software+development+project+management&w3=Software+development+project+plan&c=3&s=116&.sig=IuY8ohquN7qRS_S1ZBZufw>
                      > development project plan
                      >
                      > _____
                      >
                      > YAHOO! GROUPS LINKS
                      >
                      >
                      >
                      > * Visit your group " agile-testing
                      > <http://groups.yahoo.com/group/agile-testing> " on the web.
                      >
                      >
                      > * To unsubscribe from this group, send an email to:
                      > agile-testing-unsubscribe@yahoogroups.com
                      >
                      <mailto:agile-testing-unsubscribe@yahoogroups.com?subject=Unsubscribe>
                      >
                      >
                      >
                      > * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
                      > Service <http://docs.yahoo.com/info/terms/> .
                      >
                      >
                      > _____
                      >
                      >
                      >
                    • Mark Waite
                      ... I spent 8 hours one Saturday using PAMIE to automate data entry into a web calendaring system. I don t have experience with any other web automation
                      Message 10 of 28 , Mar 21, 2006
                      • 0 Attachment
                        --- chrs_mcmhn <christopher.mcmahon@...> wrote:

                        >
                        > > I´m part of an automation force team and we´re looking for the best
                        > > automation tool (one that fits our needs).
                        > > The situation we´re facing and we didn´t find any elegant solution
                        > yet is:
                        >
                        > http://narayanraman.blogspot.com/2006/03/sahi-vs-selenium-vs-watir.html
                        >
                        > Any of these three will do what you want, as will SAMIE (written in
                        > Perl).

                        I spent 8 hours one Saturday using PAMIE to automate data entry into
                        a web calendaring system. I don't have experience with any other
                        web automation tools, so I can't give a comparison. I did find the
                        interactive nature of python made it easy to experiment and understand.
                        It made the data entry of 300+ calendar events much less error prone.

                        http://pamie.sourceforge.net/

                        > Are you required to do cross-browser testing? Don't use Watir.
                        > (although I'm itching to try FireWatir, the Watir-for-Firefox project
                        > that just released version 1.0)

                        Pamie doesn't talk to anything but IE (or it didn't at the time I was
                        experimenting with it)

                        > Do your pages have frames? Don't use Selenium.

                        Pamie has support for frames, although I have no experience with frame
                        support since the page I was dealing with did not have frames.

                        > Sahi I don't know much about, but it looks very promising.
                        >
                        > All in all, I like Watir because it's powerful in and of itself, is
                        > written in Ruby which is a very nice programming language, has a good
                        > mail list, and is not fussy about where it runs or how the web pages
                        > are built.

                        I suspect you'll be better satisfied by Watir than Pamie if you are
                        "starting from scratch", since Watir has seemed to be more active in
                        discussions than Pamie.
                      • chrs_mcmhn
                        ... I think PAMIE is probably nicer that SAMIE. The last time I looked at SAMIE internals, it wasn t pretty. Full of 10+-level-deep nested if statements.
                        Message 11 of 28 , Mar 21, 2006
                        • 0 Attachment
                          --- In agile-testing@yahoogroups.com, Mark Waite <markwaite@...> wrote:

                          > I spent 8 hours one Saturday using PAMIE to automate data entry into
                          > a web calendaring system. I don't have experience with any other
                          > web automation tools, so I can't give a comparison. I did find the
                          > interactive nature of python made it easy to experiment and understand.

                          I think PAMIE is probably nicer that SAMIE. The last time I looked at
                          SAMIE internals, it wasn't pretty. Full of 10+-level-deep nested "if"
                          statements.
                          -Chris
                        • ryantiplady
                          Hi Ricardo, I have recently been using Selenium (http://www.openqa.org/selenium/) to great effect, the scripting is very simple with commands and parameters
                          Message 12 of 28 , Mar 21, 2006
                          • 0 Attachment
                            Hi Ricardo,

                            I have recently been using Selenium (http://www.openqa.org/selenium/)
                            to great effect, the scripting is very simple with commands and
                            parameters simply entered into html tables.

                            It runs in a variety of browsers and you can implement custom
                            commands in javascript easily should you need to extend it.

                            Many different people of different skill sets in our company have
                            been able to pick it up with ease - coders, testers and support alike.

                            Kind Regards,
                            Ryan

                            --- In agile-testing@yahoogroups.com, "Ricardo Fernandes"
                            <ricofernandes@...> wrote:
                            >
                            > Hi people,
                            >
                            > I´m part of an automation force team and we´re looking for the best
                            > automation tool (one that fits our needs).
                            > The situation we´re facing and we didn´t find any elegant solution
                            yet is:
                            >
                            > imagine a table like:
                            >
                            > name1 anotherName1 []
                            > name2 anotherName2 []
                            >
                            > (imagine [] is a checkbox)
                            >
                            > I want to click in a particular checkbox. The order of the rows can
                            change
                            > (name2 can come before name1) but I want to click in the same
                            logical row in
                            > all tests (for example, in the row with name1).
                            >
                            > I´ve come up with a solution using Rational Functional Tester. But
                            it´s not
                            > so good as I expected.
                            >
                            > Does anybody already faced that problem and came up with some
                            solution? It
                            > could be with any testing tool available.
                            >
                            > thanks, Ricardo
                            >
                          • md_devang
                            Hi, I read few of the responses. It seems you are working on web based Project. I am using selenium on my current project(web based Project). It is very
                            Message 13 of 28 , Mar 22, 2006
                            • 0 Attachment
                              Hi,

                              I read few of the responses. It seems you are working on web based
                              Project.

                              I am using selenium on my current project(web based Project). It is
                              very supporting and is very easy to use.

                              It takes three parameter and is kind of key word driven(eg:- Click
                              checkbox-id/Xpath , select combo etc).

                              What we genrally do is before code beign checked in according to flow
                              we keep the selenium test ready.

                              Along with code check in there is a Selenium Functional test which
                              verify the same.

                              We are abe to support all the existing functinality every time a build
                              is created as all Functional test are integrated with our build process.

                              You can find a lot of help on selenium on Selenium
                              website(http://www.openqa.org/selenium/seleniumReference.html)

                              I do beleive watir is also a good option.

                              Regards
                              Devang
                            • Scott Barber
                              I just started reading this thread and wondered how long it would be before someone recommended cutting off the UI for this problem . There have got to be a
                              Message 14 of 28 , Mar 22, 2006
                              • 0 Attachment
                                I just started reading this thread and wondered how long it would be
                                before someone recommended cutting off the UI for this "problem".

                                There have got to be a dozen free/opensource tools that are
                                essentially HTTP capture/edit/playback tools -- I have always found
                                these far superior to GUI automation tools for testing everything
                                except client-side interfaces and scripts. Pick your favorite
                                scripting/programming language then go look for a tool on
                                http://www.opensourcetesting.org/ At least, that's what I'd do.


                                --- In agile-testing@yahoogroups.com, Grig Gheorghiu <grig@...> wrote:
                                >
                                > Here's another solution along the lines of net/http or WWW:Mechanize,

                                <snip>

                                > Since twill works at the HTTP level, it can't handle Javascript, but
                                > that's not important for this problem.

                                --
                                Scott Barber
                                Chief Technologist
                                PerfTestPlus, Inc.
                                sbarber@...
                                www.perftestplus.com
                              • Lisa Crispin
                                Well, I did suggest Canoo WebTest. But you re right, there are lots of these available. -- Lisa
                                Message 15 of 28 , Mar 22, 2006
                                • 0 Attachment
                                  Well, I did suggest Canoo WebTest. But you're right, there are lots
                                  of these available.
                                  -- Lisa

                                  On 3/22/06, Scott Barber <sbarber@...> wrote:
                                  > I just started reading this thread and wondered how long it would be
                                  > before someone recommended cutting off the UI for this "problem".
                                  >
                                  > There have got to be a dozen free/opensource tools that are
                                  > essentially HTTP capture/edit/playback tools -- I have always found
                                  > these far superior to GUI automation tools for testing everything
                                  > except client-side interfaces and scripts. Pick your favorite
                                  > scripting/programming language then go look for a tool on
                                  > http://www.opensourcetesting.org/ At least, that's what I'd do.
                                  >
                                  >
                                  > --- In agile-testing@yahoogroups.com, Grig Gheorghiu <grig@...> wrote:
                                  > >
                                  > > Here's another solution along the lines of net/http or WWW:Mechanize,
                                  >
                                  > <snip>
                                  >
                                  > > Since twill works at the HTTP level, it can't handle Javascript, but
                                  > > that's not important for this problem.
                                  >
                                  > --
                                  > Scott Barber
                                  > Chief Technologist
                                  > PerfTestPlus, Inc.
                                  > sbarber@...
                                  > www.perftestplus.com
                                  >
                                  >
                                  >
                                  >
                                  >
                                  >
                                  >
                                  > Yahoo! Groups Links
                                  >
                                  >
                                  >
                                  >
                                  >
                                  >
                                  >
                                • Pierre Garigue
                                  If you are going the Watir way there is a new tool coming along called Watir Webrecorder
                                  Message 16 of 28 , Mar 23, 2006
                                  • 0 Attachment
                                    If you are going the Watir way there is a new tool coming along called Watir Webrecorder  http://www.mjtnet.com/watir_webrecorder.htm that attaches itself to a browser and outputs the Watir code as you use the browser. It's still very much in developments.
                                     
                                    Cheers
                                    Pierre Garigue

                                    -----Original Message-----
                                    From: Lisa Crispin [mailto:lisa.crispin@...]
                                    Sent: Wednesday, March 22, 2006 8:27 PM
                                    To: agile-testing@yahoogroups.com
                                    Subject: Re: [agile-testing] Re: test automation problem

                                    Well, I did suggest Canoo WebTest.  But you're right, there are lots
                                    of these available.
                                    -- Lisa

                                    On 3/22/06, Scott Barber <sbarber@...> wrote:
                                    > I just started reading this thread and wondered how long it would be
                                    > before someone recommended cutting off the UI for this "problem".
                                    >
                                    > There have got to be a dozen free/opensource tools that are
                                    > essentially HTTP capture/edit/playback tools -- I have always found
                                    > these far superior to GUI automation tools for testing everything
                                    > except client-side interfaces and scripts.  Pick your favorite
                                    > scripting/programming language then go look for a tool on
                                    > http://www.opensourcetesting.org/  At least, that's what I'd do.
                                    >
                                    >
                                    > --- In agile-testing@yahoogroups.com, Grig Gheorghiu <grig@...> wrote:
                                    > >
                                    > > Here's another solution along the lines of net/http or WWW:Mechanize,
                                    >
                                    > <snip>
                                    >
                                    > > Since twill works at the HTTP level, it can't handle Javascript, but
                                    > > that's not important for this problem.
                                    >
                                    > --
                                    > Scott Barber
                                    > Chief Technologist
                                    > PerfTestPlus, Inc.
                                    > sbarber@...
                                    > www.perftestplus.com
                                    >
                                    >
                                    >
                                    >
                                    >
                                    >
                                    >
                                    > Yahoo! Groups Links
                                    >
                                    >
                                    >
                                    >
                                    >
                                    >
                                    >
                                  • chrs_mcmhn
                                    ... called Watir Webrecorder http://www.mjtnet.com/watir_webrecorder.htm that attaches itself to a browser and
                                    Message 17 of 28 , Mar 23, 2006
                                    • 0 Attachment
                                      --- In agile-testing@yahoogroups.com, "Pierre Garigue" <pgarigue@...>
                                      wrote:
                                      >
                                      > If you are going the Watir way there is a new tool coming along
                                      called Watir Webrecorder
                                      <http://www.mjtnet.com/watir_webrecorder.htm>
                                      http://www.mjtnet.com/watir_webrecorder.htm that attaches itself to a
                                      browser and outputs the Watir code as you use the browser. It's still
                                      very much in developments.

                                      It's kinda buggy. We're getting a fair number of "Watir is broken"
                                      msgs to the watir mail list, when the problem is webrecorder doing the
                                      Wrong Thing with spaces and methods and stuff.

                                      The most efficient thing in the long run is to learn to write your own
                                      Watir code. The recorder is not recommended unless you already know
                                      what you're doing, and probably not even then.
                                      -Chris
                                    • Danny R. Faught
                                      ... Using a simulated browser in the first place is not good for cross-browser testing. The reason I d want Javascript support from WWW::Mechanize is so I can
                                      Message 18 of 28 , Mar 23, 2006
                                      • 0 Attachment
                                        > The easiest route to adding in a full JavaScript interpreter is to make
                                        > use of the open/free Mozilla code. The problem here is then twofold --
                                        > you need to provide a Web-bish environment, and also maintain your own
                                        > bindings etc to a fairly large and complex distribution. You also have
                                        > the problem that Mozilla != IE != Opera, so this wouldn't be such a
                                        > useful route for cross-browser testing -- essential in JS testing.

                                        Using a simulated browser in the first place is not good for
                                        cross-browser testing. The reason I'd want Javascript support from
                                        WWW::Mechanize is so I can navigate to places that require Javascript
                                        support, not necessarily to test the Javascript itself.

                                        There's certainly still a place for browser-based testing.
                                        --
                                        Danny R. Faught
                                        Tejas Software Consulting
                                        http://tejasconsulting.com/
                                      • Titus Brown
                                        On Thu, Mar 23, 2006 at 02:13:16PM -0600, Danny R. Faught wrote: - The easiest route to adding in a full JavaScript interpreter is to make - use of the
                                        Message 19 of 28 , Mar 23, 2006
                                        • 0 Attachment
                                          On Thu, Mar 23, 2006 at 02:13:16PM -0600, Danny R. Faught wrote:
                                          -> > The easiest route to adding in a full JavaScript interpreter is to make
                                          -> > use of the open/free Mozilla code. The problem here is then twofold --
                                          -> > you need to provide a Web-bish environment, and also maintain your own
                                          -> > bindings etc to a fairly large and complex distribution. You also have
                                          -> > the problem that Mozilla != IE != Opera, so this wouldn't be such a
                                          -> > useful route for cross-browser testing -- essential in JS testing.
                                          ->
                                          -> Using a simulated browser in the first place is not good for
                                          -> cross-browser testing. The reason I'd want Javascript support from
                                          -> WWW::Mechanize is so I can navigate to places that require Javascript
                                          -> support, not necessarily to test the Javascript itself.

                                          I'm curious what people think of HttpUnit's JavaScript support:

                                          http://httpunit.sourceforge.net/doc/javascript-support.html

                                          It looks like a roll-your-own situation that isn't going to support the
                                          real AJAX-y stuff. Is is it enough to be useful?

                                          cheers,
                                          --titus
                                        • Bret Pettichord
                                          ... Watir 1.5, currently in development, has this and lots of other stuff you d appreciate. http://wiki.openqa.org/display/WTR/Development+Builds Watir 1.5 is
                                          Message 20 of 28 , Mar 24, 2006
                                          • 0 Attachment
                                            On 3/21/06, Brian Marick <marick@...> wrote:
                                            > def row_named(name)
                                            > # Why, if there's each, doesn't Watir have find?
                                            > form_table.each { | row |
                                            > return row if row[1].text == name
                                            > }
                                            > nil
                                            > end

                                            Watir 1.5, currently in development, has this and lots of other stuff
                                            you'd appreciate.

                                            http://wiki.openqa.org/display/WTR/Development+Builds

                                            Watir 1.5 is actually pretty stable. All the unit tests pass. But some
                                            of the new features are unfinished, and a lot of the doc hasn't been
                                            updated. Also the one-click installer needs work. (Use the gem). So
                                            this is why i scare new users away from it.

                                            You should definitely base any book writing on 1.5.

                                            Bret
                                          • Brian Marick
                                            ... How complete will XPath be in 1.5? It would be completely satisfying if it handled these: //div[@class= buying ]/b
                                            Message 21 of 28 , Mar 25, 2006
                                            • 0 Attachment
                                              > Watir 1.5, currently in development, has this and lots of other stuff
                                              > you'd appreciate.

                                              How complete will XPath be in 1.5? It would be completely satisfying
                                              if it handled these:

                                              //div[@class="buying"]/b
                                              //div[@id="purchaseSimilarities"]//a[@href][1]

                                              Then I could show how to handle exactly the same problem (screen-
                                              scraping amazon) in three different ways: picking apart their HTML
                                              with regular expressions, converting the page into XTHML (with
                                              <http://cgi.w3.org/cgi-bin/tidy>) and using XPath, or using Watir
                                              +XPath to go after the DOM. I guess it's easy enough to walk down the
                                              tree with whatever Watir provides.

                                              -----
                                              Brian Marick, independent consultant
                                              Mostly on agile methods with a testing slant
                                              www.exampler.com, www.testing.com/cgi-bin/blog
                                              Book in progress: www.exampler.com/book
                                            Your message has been successfully submitted and would be delivered to recipients shortly.