TT#56376 selenium: add more features to the crash detection

- it will now detect more errors (errors with Oops! in the headline and
nginx erros)
- it prints more information now. (tab title and url)
- it looks nicer when some infos are not present (i.e when there is not
incident number or incident time availible)
- code looks nicer too

Change-Id: Id43c061e37fd2f6f18a82833892799e04a243dfe
changes/08/31008/2
Nico Schedel 7 years ago
parent c76559974c
commit 24c19b906a

@ -147,27 +147,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}
}

@ -226,27 +226,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}
}

@ -243,27 +243,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}

@ -170,27 +170,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}

@ -224,27 +224,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}

@ -180,27 +180,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}

@ -210,27 +210,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}

@ -310,27 +310,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}

@ -219,27 +219,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}

@ -187,27 +187,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}

@ -402,27 +402,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}

@ -157,27 +157,43 @@ diag("This test run was successfull");
$run_ok = 1;
END {
if (!$run_ok) {
if(!$run_ok) {
is("tests", "failed", "This test wasnt successful, check complete test logs for more info");
diag("-----------------------SCRIPT HAS CRASHED-----------------------");
if($d->find_text("Sorry!")) {
my $url = $d->get_current_url();
my $title = $d->get_title();
my $realtime = localtime();
if($d->find_text("Sorry!") || $d->find_text("Oops!")) {
my $crashvar = $d->find_element_by_css('.error-container > h2:nth-child(2)')->get_text();
my $incident = $d->find_element_by_css('.error-details > div:nth-child(2)')->get_text();
my $time = $d->find_element_by_css('.error-details > div:nth-child(3)')->get_text();
my $realtime = localtime();
my $incident = "incident number: not avalible";
my $time = "time of incident: not avalible";
eval {
$incident = $d->find_element('.error-details > div:nth-child(2)', 'css')->get_text();
$time = $d->find_element('.error-details > div:nth-child(3)', 'css')->get_text();
};
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Server error: $crashvar");
diag($incident);
diag($time);
diag("Perl localtime(): $realtime");
} elsif($d->find_text("nginx")) {
my $crashvar = $d->find_element_by_css('body > center:nth-child(1) > h1:nth-child(1)')->get_text();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("nginx error: $crashvar");
diag("Perl localtime(): $realtime");
} else {
diag("Could not detect Server issues. Maybe script problems?");
diag("If you still want to check server logs, here's some info");
my $realtime = localtime();
diag("Server: $ENV{CATALYST_SERVER}");
diag("Url: $url");
diag("Tab Title: $title");
diag("Perl localtime(): $realtime");
}
diag("----------------------------------------------------------------");
}
};
done_testing;
}
}
Loading…
Cancel
Save