develooper Front page | perl.beginners | Postings from September 2009

Testing with Selenium

Thread Next
Bob McConnell
September 22, 2009 11:12
Testing with Selenium
Message ID:
Good morning,

I have begun the task of automating functional tests for some of our web
servers. I have had some success using Selenium IDE in Firefox to
capture input sequences, exporting them to Perl scripts, then using the
Se remote control server to execute them. But I have run into one minor

A basic test is to verify the error message returned when an invalid
password is entered. This test script is shown below. I can run this as
a simple test, or it can be part of a suite. The command line to
manually run the suite is normally:

perl -MTest::Harness -e "@ARGV= map glob, @ARGV \
  if  $^O =~ /^MSWin/; runtests @ARGV;" test/*.pl

Unfortunately, yes this is running on a WinXP system.

My problem is that we have multiple virtual hosts on that server, and I
need to select a specific host for each run. So when I run the harness I
need some way to pass the "" portion of the URL into each of
the test scripts. I can't see any way with Test::Harness or Test::More
to do this. If I can, then I have other parameters that need to be
passed in as well.

Any suggestions?

Bob McConnell

# Check for invalid password
use strict;
use warnings;
use Time::HiRes qw(sleep);
use Test::WWW::Selenium;
use Test::More "no_plan";  # currently 9 tests
use Test::Exception;

# The SeRC server must already be running in another process.
my $sel = Test::WWW::Selenium->new( host => "localhost",
                                    port => 4444,
                                    browser => "*chrome",
                                    browser_url =>
"" );

$sel->set_speed("1000");		# without this line, everything
will error out.

$sel->type_ok("LoginID", "devmmid9\");
$sel->type_ok("LoginPWD", "password");


like($sel->get_title(), qr/ - Login/, "Login failed");
cmp_ok ($sel->get_text("css=div[class=Error]"), "=~",
        "Invalid Email Address and / or Password for", "Correct error

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About