Have you seen Test::WWW::Mechanize? You can do much better if you adopt its use with a less data driven approach.

my $question = { 1 => 'value_12345', 2 => 'value_12346', 3 => 'value_12347', }; my @test = ( 'First page of sequence' => sub { my ( $mech, $name ) = @_; $mech->get( qq[some_uri] ); $mech->content_like( qr/Some text/, $name ); $mech->click; }, 'page seen after first click' => sub { my ( $mech, $name ) = @_; $mech->content_like( qr/Dst1/, "$name: destination1" ); $mech->submit_form( fields => { $question->{ 1 } => 3, # Q1, choice 3 (radio button) } ); }, 'page seen after second POST' => sub { my ( $mech, $name ) = @_; $mech->content_like( qr/Dst2/, "$name: destination2" ], $mech->content_like( qr/more text/, "$name: more text expected +" ], $mech->submit_form( fields => { # ... } ); $mech->back; $mech->back; }, ); my $verbose = 0; my $mech = Test::WWW::Mechanize->new( ... ); while( my ( $name, $test ) = splice @test, 0, 2 ) { $test->( $mech, $name ); diag $mech->current_form->dump if $verbose; sleep 1; }

Makeshifts last the longest.


In reply to Re: Data-driven programming with WWW::Mechanize by Aristotle
in thread Data-driven programming with WWW::Mechanize by mp

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.