#!C:/Perl/bin/perl.exe use strict; use warnings; use Time::HiRes qw(sleep); use Test::WWW::Selenium; use Test::More "no_plan"; use Test::Exception; use lib 'C:/Scripts/module'; use SeleniumSDK; my $sdk = SeleniumSDK->new(); # Get arguments # Process args from command line my $url = $ARGV[0] || 'http://testserver/scs/'; my $browser = $ARGV[1] || "*iexplore"; if ($ARGV[0] eq '?' || $ARGV[0] eq 'help') { print "\nUsage: Please enter a URL to test!\n"; exit; } my $sel = $sdk->StartSelenium( $browser, $url ); $sel->open_ok("/scs"); $sel->window_maximize(); # TEST CODE GOES HERE $sel->click_ok("link=Sales Reps"); $sel->wait_for_page_to_load_ok("30000"); # parse source my @source = split(/\n/, $sel->get_html_source()); # REP LINKS my @repUrl = (); print "\nREP LINKS:\n\n"; sleep(1); foreach my $s ( @source ) { chomp $s; next unless $s =~ /href/; next unless $s =~ /Rep\/Edit/; my $href = substr( $s, index($s,'href=')+6, index($s,'">Edit') - (index($s,'href=')+6) ); print "** ".$href."\n"; push(@repUrl, $href); } use Data::Dumper; my %Rep = (); my $c = 0; foreach my $url ( @repUrl ) { $sel->open_ok($url); print "\nGrabbing values from screen...\n"; # Get values and add to hash $sel->highlight_ok('id=Code'); $Rep{$c}->{REP} = $sel->get_value('id=Code'); $sel->highlight_ok('id=Employee_Period_StartDate'); $Rep{$c}->{START} = $sel->get_value('id=Employee_Period_StartDate'); $sel->highlight_ok('id=Employee_Period_EndDate'); $Rep{$c}->{END} = $sel->get_value('id=Employee_Period_EndDate'); $sel->highlight_ok('id=Period_StartDate'); $Rep{$c}->{COMSTART} = $sel->get_value('id=Period_StartDate'); $sel->highlight_ok('id=Period_EndDate'); $Rep{$c}->{COMEND} = $sel->get_value('id=Period_EndDate'); $sel->highlight_ok('id=Note'); $Rep{$c}->{NOTE} = $sel->get_value('id=Note'); sleep(1); print Dumper($Rep{$c}); sleep(1); $sel->open_ok("/scs/Rep/"); $sel->wait_for_page_to_load_ok("30000"); $c++; } # END TEST CODE $sdk->KillSelenium($sel);