mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-09-25 23:57:21 +00:00
05af76265f
The Cockpit update test relies on scrolling the Cockpit left bar to find the Software Updates page, but in Firefox 100, the scroll bars disappear shortly after the last time you moved the mouse. To deal with this, instead of looking for a scroll bar to scroll, we'll click the search box in the left bar and hit 'up' to scroll it to the bottom. Signed-off-by: Adam Williamson <awilliam@redhat.com>
61 lines
2.0 KiB
Perl
61 lines
2.0 KiB
Perl
package cockpit;
|
|
|
|
use strict;
|
|
|
|
use base 'Exporter';
|
|
use Exporter;
|
|
use lockapi;
|
|
use testapi;
|
|
use utils;
|
|
|
|
our @EXPORT = qw(start_cockpit select_cockpit_update check_updates);
|
|
|
|
|
|
sub start_cockpit {
|
|
# Starting from a console, get to a browser with Cockpit (running
|
|
# on localhost) shown. If $login is truth-y, also log in. Assumes
|
|
# X and Firefox are installed.
|
|
my $login = shift || 0;
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1439429
|
|
assert_script_run "sed -i -e 's,enable_xauth=1,enable_xauth=0,g' /usr/bin/startx";
|
|
disable_firefox_studies;
|
|
# run firefox directly in X as root. never do this, kids!
|
|
type_string "startx /usr/bin/firefox -width 1024 -height 768 http://localhost:9090\n";
|
|
assert_screen "cockpit_login", 60;
|
|
wait_still_screen(stilltime=>5, similarity_level=>45);
|
|
if ($login) {
|
|
type_safely "root";
|
|
wait_screen_change { send_key "tab"; };
|
|
type_safely get_var("ROOT_PASSWORD", "weakpassword");
|
|
send_key "ret";
|
|
assert_screen "cockpit_main";
|
|
# wait for any animation or other weirdness
|
|
# can't use wait_still_screen because of that damn graph
|
|
sleep 3;
|
|
}
|
|
}
|
|
|
|
sub select_cockpit_update {
|
|
# This method navigates to to the updates screen
|
|
# From Firefox 100 on, we get 'adaptive scrollbars', which means
|
|
# the scrollbar is just invisible unless you moved the mouse
|
|
# recently. So we click in the search box and hit 'up' to scroll
|
|
# the sidebar to the bottom if necessary
|
|
assert_screen ["cockpit_software_updates", "cockpit_search"], 120;
|
|
click_lastmatch;
|
|
if (match_has_tag "cockpit_search") {
|
|
send_key "up";
|
|
assert_and_click "cockpit_software_updates";
|
|
}
|
|
# wait for the updates to download
|
|
assert_screen 'cockpit_updates_check', 300;
|
|
}
|
|
|
|
sub check_updates {
|
|
my $logfile = shift;
|
|
sleep 2;
|
|
my $checkresult = script_run "dnf check-update > $logfile";
|
|
upload_logs "$logfile", failok=>1;
|
|
return($checkresult);
|
|
}
|