package WWW::Selenium::Util; use strict; use warnings; use IO::Socket; use base 'Exporter'; our @EXPORT_OK = qw(server_is_running); =head1 NAME WWW::Selenium::Util - Utility code to help test using Selenium =head1 SYNOPSIS WWW::Selenium::Util contains utility functions to help use Selenium in your test scripts: use WWW::Selenium::Util qw/server_is_running/; use Test::More; if (server_is_running) { plan tests => 1; } else { plan skip_all => "No selenium server found!"; exit 0; } # ... your tests ... =head1 FUNCTIONS =head2 server_is_running( $host, $port ) Returns true if a Selenium server is running. The host and port parameters are optional, and default to localhost:4444 Environment vars SRC_HOST and SRC_PORT can also be used to determine the server to check. =cut sub server_is_running { my $host = $ENV{SRC_HOST} || shift || 'localhost'; my $port = $ENV{SRC_PORT} || shift || 4444; return ($host, $port) if IO::Socket::INET->new( PeerAddr => $host, PeerPort => $port, ); return; } 1; __END__ =head1 AUTHORS Written by Luke Closs <selenium@5thplane.com> =head1 LICENSE Copyright (c) 2007 Luke Closs <lukec@cpan.org> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself