| WWW-Mechanize-FormFiller documentation | Contained in the WWW-Mechanize-FormFiller distribution. |
WWW::Mechanize::FormFiller::Value::Random - Randomly fill out a HTML form field
use WWW::Mechanize::FormFiller; use WWW::Mechanize::FormFiller::Value::Random; my $f = WWW::Mechanize::FormFiller->new(); # Create a random value for the HTML field "login" my $login = WWW::Mechanize::FormFiller::Value::Random->new( login => "root","administrator","corion" ); $f->add_value( login => $login ); # Alternatively take the following shorthand, which adds the # field to the list as well : # If there is no password, put a random one out of the list there my $password = $f->add_filler( password => Random => "foo","bar","baz" );
This class provides a way to write a randomly chosen value into a HTML field.
Creates a new value which will correspond to the HTML field NAME. The LIST
is a list of items one of which will be returned for each call to value().
There is no persistence of these values. For items that can only take a finite
set of elements, a random element out of that list is taken by default.
Gets and sets the name of the HTML field this value corresponds to.
Returns the value to put into the HTML field.
None by default.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Copyright (C) 2002,2003 Max Maischein
Max Maischein, <corion@cpan.org>
Please contact me if you find bugs or otherwise improve the module. More tests are also very welcome !
WWW::Mechanize, WWW::Mechanize::Shell, WWW::Mechanize::FormFiller, WWW::Mechanize::FormFiller::Value::Value, WWW::Mechanize::FormFiller::Value::Default, WWW::Mechanize::FormFiller::Value::Fixed, WWW::Mechanize::FormFiller::Value::Interactive
| WWW-Mechanize-FormFiller documentation | Contained in the WWW-Mechanize-FormFiller distribution. |
package WWW::Mechanize::FormFiller::Value::Random; use strict; use base 'WWW::Mechanize::FormFiller::Value'; use Data::Random qw(rand_enum); use vars qw( $VERSION ); $VERSION = '0.10'; sub new { my ($class,$name,@values) = @_; my $self = $class->SUPER::new($name); $self->{values} = [ @values ]; $self; }; sub value { my ($self,$input) = @_; my @values; @values = @{$self->{values}} if ($self->{values}); # Pick a choice among the allowed values for this input # unless we got some prespecified values @values = $input->possible_values unless scalar @values; rand_enum( set => \@values, size => 1 ); }; 1; __END__