Get result of a https page with SSL after login.
am 30.03.2010 14:56:40 von chew23Hi all,
just my first technical post on this list.
To automate my work i have to get a html page by my company site after a
login in an secure area.
After a long googling job, I decided to use WWW:Selenium to do this.
It seems to be bugged and i would ask to you if there is e clear method
to do this.
Many thanks in advance.
There is my code:
---- CODE ----
#!/usr/bin/perl
use strict;
use warnings;
use Time::HiRes qw(sleep);
use Test::WWW::Selenium;
use Test::More "no_plan";
use Test::Exception;
#system ('/usr/bin/selenium-server &');
my $line = '
my $users_file = "config_user.cfg" ;
open ( USERS , "$users_file" ) or die "Unable to open file:
$users_file\n $!\n";
my $string = "";
## Perl trim function to remove whitespace from the start and end of the
string
sub trim($) {
$string = shift;
$string =~ s/.*\>(.*?)\<.*/$1/ ;
return $string;
}
my $sel = Test::WWW::Selenium->new( host => "localhost",
port => 4444,
browser => "*firefox",
browser_url =>
"http://webmail.sorint.it/" );
$sel->open_ok("http://xxxxxxxxx");
$sel->title_is("Sun Java System Access Manager (Login)");
$sel->type_ok("IDToken1", "xxxxxxxxx");
$sel->type_ok("IDToken2", "xxxxxxxxx");
$sel->click_ok("Login.Submit");
$sel->wait_for_page_to_load_ok("30000");
$sel->title_is("");
$sel->open_ok('https://xxxxxxxxx/http://its-cslpsr-01.sorint .it/nextstage/jsp/index.jsp');
my $i = "";
while ($i =
my $field1 = "";
my $field2 = "";
my $field3 = "";
my $line = "$i";
($field1,$field2,$field3) = split ';', $line;
print "$field1\t"."$field2\t"."$field3\n";
my $compurl0 =
'https://xxxxxxxxx/http://its-cslpsr-01.xxxxxx.it/nextstage/ contratti/resoconto/RiepilogoOre.jsp?matricola='."$field2".' &mese_m=mar&anno_a=2010&tipo=';
my $compurl1 =
'https://xxxxxxxxx/http://its-cslpsr-01.xxxxxx.it/nextstage/ contratti/resoconto/RiepilogoOreCommercio.jsp?matricola='."$ field2".'&mese_m=mar&anno_a=2010&tipo=';
if ( $field1 == 0 ) {
print "Il campo di controllo è 0 e quindi uso la stringa:\n
$compurl0";
$sel->open_ok("$compurl0");
$sel->wait_for_page_to_load_ok("30000");
sleep 30;
} else {
print "Il campo di controllo è 1 e quindi uso la stringai:\n
$compurl1";
$sel->open_ok("$compurl1");
$sel->wait_for_page_to_load_ok("30000");
sleep 30;
}
my $outfile = "out-$field2.htm";
my $output_page = $sel->get_html_source;
open(OUTFILE, ">$outfile");
print OUTFILE "$output_page";
close(OUTFILE);
open ( FILE , "$outfile" ) or die "Cannot open file: $outfile - $! \n";
open ( LINES , ">data-$field2.txt" ) or die "Cannot open file:
data-$field2.txt - $! \n";
open ( PIPPO , ">original-$field2.txt" ) or die "Cannot open file
original-$field2.txt: $! \n";
my $counter = 0;
my $row = "";
while ($row =
$counter++;
if ($row =~ /$line/) {
$a = trim($row);
open ( LINES , ">>data-$field2.txt" ) or die "Cannot
open file data-$field2.txt: $! \n";
open ( PIPPO , ">>original-$field2.txt" ) or die
"Cannot open file original-$field2.txt: $! \n";
print PIPPO "$row";
print LINES "$a";
close LINES;
close PIPPO;
}
}
close FILE;
close LINES;
}
close USERS;
exit;
--
go ahead... be a heretic!
--
To unsubscribe, e-mail: beginners-unsubscribe@perl.org
For additional commands, e-mail: beginners-help@perl.org
http://learn.perl.org/
RE: Get result of a https page with SSL after login.
am 30.03.2010 16:00:35 von Bob McConnellFrom: chew23
> To automate my work i have to get a html page by my company site after
a=20
> login in an secure area.
> After a long googling job, I decided to use WWW:Selenium to do this.
> It seems to be bugged and i would ask to you if there is e clear
method=20
> to do this.
I believe the first step is to go to the Selenium home site and get an
updated copy of Selenium.pm. (Last I checked they hadn't posted recent
updates to CPAN.)
You might also want to look over my wiki page about SeRC and Perl at
welcome to modify or add to it.
The other option is their Google group at
Bob McConnell
--
To unsubscribe, e-mail: beginners-unsubscribe@perl.org
For additional commands, e-mail: beginners-help@perl.org
http://learn.perl.org/