.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Test::WWW::Selenium 3pm" .TH Test::WWW::Selenium 3pm "2015-12-30" "perl v5.22.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Test::WWW::Selenium \- Test applications using Selenium Remote Control .SH "VERSION" .IX Header "VERSION" version 1.36 .SH "SYNOPSIS" .IX Header "SYNOPSIS" Test::WWW::Selenium is a subclass of WWW::Selenium that provides convenient testing functions. .PP .Vb 2 \& use Test::More tests => 5; \& use Test::WWW::Selenium; \& \& # Parameters are passed through to WWW::Selenium \& my $sel = Test::WWW::Selenium\->new( host => "localhost", \& port => 4444, \& browser => "*firefox", \& browser_url => "http://www.google.com", \& default_names => 1, \& error_callback => sub { ... }, \& ); \& \& # use special test wrappers around WWW::Selenium commands: \& $sel\->open_ok("http://www.google.com", undef, "fetched G\*(Aqs site alright"); \& $sel\->type_ok( "q", "hello world"); \& $sel\->click_ok("btnG"); \& $sel\->wait_for_page_to_load_ok(5000); \& $sel\->title_like(qr/Google Search/); \& $sel\->error_callback(sub {...}); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module is a WWW::Selenium subclass providing some methods useful for writing tests. For each Selenium command (open, click, type, ...) there is a corresponding \f(CW\*(C`_ok\*(C'\fR method that checks the return value (open_ok, click_ok, type_ok). .PP For each Selenium getter (get_title, ...) there are four autogenerated methods (\f(CW\*(C`_is\*(C'\fR, \f(CW\*(C`_isnt\*(C'\fR, \f(CW\*(C`_like\*(C'\fR, \&\f(CW\*(C`_unlike\*(C'\fR) to check the value of the attribute. .PP By calling the constructor with \f(CW\*(C`default_names\*(C'\fR set to a true value your tests will be given a reasonable name should you choose not to provide one of your own. The test name should always be the third argument. .SH "NAME" Test::WWW::Selenium \- Test applications using Selenium Remote Control .SH "REQUIREMENTS" .IX Header "REQUIREMENTS" To use this module, you need to have already downloaded and started the Selenium Server. (The Selenium Server is a Java application.) .SH "ADDITIONAL METHODS" .IX Header "ADDITIONAL METHODS" Test::WWW::Selenium also provides some other handy testing functions that wrap WWW::Selenium commands: .IP "get_location" 4 .IX Item "get_location" Returns the relative location of the current page. Works with _is, _like, ... methods. .IP "error_callback" 4 .IX Item "error_callback" Sets the method to use when a corresponding selenium test is called and fails. For example if you call text_like(...) and it fails the sub defined in the error_callback will be called. This allows you to perform various tasks to obtain additional details that occurred when obtianing the error. If this is set to undef then the callback will not be issued. .ie n .IP "$sel\->\fIdebug()\fR" 4 .el .IP "\f(CW$sel\fR\->\fIdebug()\fR" 4 .IX Item "$sel->debug()" Starts an interactive shell to pass commands to Selenium. .Sp Commands are run against the selenium object, so you just need to type: .ie n .IP "eg: click(""link=edit"")" 4 .el .IP "eg: click(``link=edit'')" 4 .IX Item "eg: click(link=edit)" .SH "AUTHORS" .IX Header "AUTHORS" .PD 0 .IP "\(bu" 4 .PD Maintained by: Matt Phillips , Luke Closs .IP "\(bu" 4 Originally by Mattia Barbon .SH "CONTRIBUTORS" .IX Header "CONTRIBUTORS" Dan Dascalescu .PP Scott McWhirter .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (c) 2011 Matt Phillips .PP Copyright (c) 2006 Luke Closs .PP Copyright (c) 2005, 2006 Mattia Barbon .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.