use strict; package MyTestingSuite; use parent 'Test::Class'; use Selenium::Remote::Driver; use Test::More; sub startup : Test( startup => no_plan ) { my $self = shift; $self->{browsers} = [('chrome', 'internet explorer', 'phantomJS', 'firefox')]; } sub title_test : Tests { my $self = shift; foreach my $browser (@{$self->{browsers}}) { my $driver = Selenium::Remote::Driver->new( browser_name => $browser); $driver->get("http://www.google.com"); $driver->find_element('q','name')->send_keys("Hello WebDriver!"); ok($driver->get_title =~ /Google/,"title matches google"); is($driver->get_title,'Google',"Title is google"); ok($driver->get_title eq 'Google','Title equals google'); like($driver->get_title,qr/Google/,"Title matches google"); $driver->quit(); } } sub element_test : Tests { my $self = shift; foreach my $browser (@{$self->{browsers}}) { my $driver = Selenium::Remote::Driver->new( browser_name => $browser); $driver->get("http://www.google.com"); $driver->pause(2000); $driver->set_window_size(640, 480); $driver->find_element('login','name') $driver->find_element('password','name') $driver->quit(); } } 1; #### use strict; use warnings; use Test::Class::Load 'MyTestingSuite';