The following module was proposed for inclusion in the Module List:

  modid:       Web::Walker
  DSLIP:       bdpOp
  description: walk through web site, checking stuff
  userid:      SFINK (Steve A Fink)
  chapterid:   15 (World_Wide_Web_HTML_HTTP_CGI)
  communities:

  similar:
    WWW::Robot HTML::Validator

  rationale:

    Ok, I'll confess -- I am very uncertain of what to name this thing,
    so I picked Web::Walker because it sounds kinda cool and is
    guaranteed to annoy^Wbe noticed by the happy fun modules@ people.

    It is a framework for writing web application-specific sanity
    checkers. It differs from all the related tools I can find in that
    it does no automatic link-walking; the entire operation is under
    programmatic control. It's really a scripting language for web
    applications. It pulls out all the forms, links, images, etc., and
    allows the scripter to set field values and click on links. Also,
    before you start wandering through the site, you can create global
    constraints on all or some of the pages. If this seems too abstract,
    here's an example script:

    use Unnamed::Web::Walker::Doohickey; my $site = Blah::Site->new();
    $site->page("Login", url => qr/login/i); $site->constrain_page(sub {
    shift()->{name} ne 'Login' }, has_text => qr/copyright/);
    $site->constrain_page('any', sub { validate_html(shift()->{content}
    });

    my $walker = Blah::Walker->new($site);
    $walker->get("http://localhost/myapp/";);
    $walker->assert_at("Login"); $walker->post('any', user => 'bob',
    password => 'bob'); $walker->setField('any', pretext =>
    qr/first\s*name/i, 'Robert');

    ('pretext' means any text discovered in a preorder traversal of an
    HTML tree rooted at a form, before arriving at the specified input
    field. Which usually means text to the left of a form field. Not
    that this is relevant.)

    HTML::Checker? (not necessarily HTML specific) WWW::Checker? (seems
    a little vague) WWW::Check? WebSite::Walker? (just as intrusive as
    Web::Walker) WWW::Constrain? WWW::Browser? (too misleading, even if
    this is a browser) WWW::Sanity? (I use it to write web app sanity
    checks) WWW::Lint? (sounds too automated; this is a framework)
    WWW::AppLint? (huh?) WWW::Agent? (too overloaded) WWW::Auto?
    WWW::Automate? WWW::Script? (a bit high-falutin') Script::WWW? (it's
    just an OO extension, not a scripting language) WWW::Clean/Scrub?

    Argh. Thanks in advance for doing my thinking for me. :-)

  enteredby:   SFINK (Steve A Fink)
  enteredon:   Thu Nov  1 19:15:18 2001 GMT

The resulting entry would be:

Web::
::Walker          bdpOp walk through web site, checking stuff        SFINK


Thanks for registering,
The Pause Team

PS: The following links are only valid for module list maintainers:

Registration form with editing capabilities:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=9f100000_17edf65d9af4476d&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=9f100000_17edf65d9af4476d&SUBMIT_pause99_add_mod_insertit=1

Reply via email to