anaconda_help: tweak nonlive needle handling, add waits, tabs

Some fixups for anaconda_help. Two runs of it failed today around
handoff from the root password screen to the install progress
screen; add a couple of wait_still_screens there to make it
safer. Drop the added nonlive needles, because they're too
permissive, causing problems for other tests (they're matching
before they should); instead we solve the problem of spokes being
highlighted by just pressing shift-tab a few times. And fix some
tabs to be spaces.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2021-05-31 15:03:17 -07:00
parent 5d4cf014a2
commit 3364732110
6 changed files with 20 additions and 75 deletions

View File

@ -321,7 +321,8 @@ sub check_help_on_pane {
# and Installation progress Help button. For the aforementioned # and Installation progress Help button. For the aforementioned
# step, we are skipping selecting the panes. # step, we are skipping selecting the panes.
if ($screen ne "main" && $screen ne "language_selection" && $screen ne "installation_progress") { if ($screen ne "main" && $screen ne "language_selection" && $screen ne "installation_progress") {
assert_and_click "anaconda_main_hub_$screen"; send_key_until_needlematch("anaconda_main_hub_$screen", "shift-tab");
click_lastmatch;
} }
# For Help, click on the the Help button. # For Help, click on the the Help button.
assert_and_click "anaconda_help_button"; assert_and_click "anaconda_help_button";
@ -350,7 +351,10 @@ sub check_help_on_pane {
# In the situation, when we do not arrive at main hub, we will skip # In the situation, when we do not arrive at main hub, we will skip
# testing that main hub is shown. # testing that main hub is shown.
if ($screen ne "language_selection" && $screen ne "installation_progress") { if ($screen ne "language_selection" && $screen ne "installation_progress") {
assert_screen "anaconda_main_hub"; # on leaving a spoke, it is highlighted on the main hub, which
# can throw off the match here. so we'll try hitting shift-tab
# a few times to shift focus
send_key_until_needlematch("anaconda_main_hub", "shift-tab");
} }
} }

View File

@ -1,30 +0,0 @@
{
"area": [
{
"ypos": 199,
"xpos": 485,
"type": "match",
"height": 33,
"width": 33
},
{
"width": 28,
"height": 34,
"ypos": 272,
"type": "match",
"xpos": 488
},
{
"ypos": 267,
"type": "match",
"xpos": 722,
"width": 34,
"height": 37
}
],
"properties": [],
"tags": [
"anaconda_main_hub",
"ENV-DISTRI-fedora"
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

View File

@ -1,30 +0,0 @@
{
"area": [
{
"ypos": 268,
"xpos": 248,
"type": "match",
"height": 33,
"width": 33
},
{
"type": "match",
"xpos": 244,
"ypos": 199,
"width": 41,
"height": 34
},
{
"ypos": 336,
"xpos": 246,
"type": "match",
"width": 34,
"height": 37
}
],
"properties": [],
"tags": [
"anaconda_main_hub",
"ENV-DISTRI-fedora"
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

View File

@ -26,24 +26,24 @@ sub run {
my @testplan; my @testplan;
# For LIVE KDE: # For LIVE KDE:
if ((get_var('LIVE')) && (get_var('DESKTOP') eq "kde")) { if ((get_var('LIVE')) && (get_var('DESKTOP') eq "kde")) {
@testplan = qw/keyboard_layout time_date install_destination network_host_name root_password create_user/; @testplan = qw/keyboard_layout time_date install_destination network_host_name root_password create_user/;
} }
# For LIVE Workstation # For LIVE Workstation
elsif ((get_var('LIVE')) && (get_var('DESKTOP') eq "gnome")) { elsif ((get_var('LIVE')) && (get_var('DESKTOP') eq "gnome")) {
@testplan = qw/keyboard_layout install_destination time_date/; @testplan = qw/keyboard_layout install_destination time_date/;
} }
# For Silverblue # For Silverblue
elsif (get_var('DESKTOP') eq "gnome") { elsif (get_var('DESKTOP') eq "gnome") {
@testplan = qw/keyboard_layout language_support install_destination time_date/; @testplan = qw/keyboard_layout language_support install_destination time_date/;
} }
# For ServerDVD # For ServerDVD
else { else {
@testplan = qw/keyboard_layout language_support time_date installation_source select_packages install_destination network_host_name root_password create_user/; @testplan = qw/keyboard_layout language_support time_date installation_source select_packages install_destination network_host_name root_password create_user/;
} }
# Iterate over test plan and do the tests. # Iterate over test plan and do the tests.
foreach (@testplan) { foreach (@testplan) {
check_help_on_pane($_); check_help_on_pane($_);
} }
# Now, we will start the installation. # Now, we will start the installation.
@ -51,16 +51,17 @@ sub run {
# the Begin Installation button may be greyed out. If this is the situation, # the Begin Installation button may be greyed out. If this is the situation,
# we will create the root password to override this. # we will create the root password to override this.
unless (check_screen "anaconda_main_hub_begin_installation", 120) { unless (check_screen "anaconda_main_hub_begin_installation", 120) {
assert_and_click "anaconda_main_hub_root_password"; assert_and_click "anaconda_main_hub_root_password";
type_safely "weakrootpassword"; type_safely "weakrootpassword";
send_key "tab"; send_key "tab";
type_safely "weakrootpassword"; type_safely "weakrootpassword";
assert_and_click "anaconda_spoke_done"; assert_and_click "anaconda_spoke_done";
} }
# Begin installation # Begin installation after waiting out animation
assert_and_click "anaconda_main_hub_begin_installation"; wait_still_screen 5;
wait_screen_change { assert_and_click "anaconda_main_hub_begin_installation"; };
# Check the last Help screen. As # Check the last Help screen
check_help_on_pane("installation_progress"); check_help_on_pane("installation_progress");
# As there is no need to proceed with the installation, # As there is no need to proceed with the installation,