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
# step, we are skipping selecting the panes.
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.
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
# testing that main hub is shown.
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;
# For LIVE 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
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
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
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.
foreach (@testplan) {
check_help_on_pane($_);
check_help_on_pane($_);
}
# 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,
# we will create the root password to override this.
unless (check_screen "anaconda_main_hub_begin_installation", 120) {
assert_and_click "anaconda_main_hub_root_password";
type_safely "weakrootpassword";
send_key "tab";
type_safely "weakrootpassword";
assert_and_click "anaconda_spoke_done";
assert_and_click "anaconda_main_hub_root_password";
type_safely "weakrootpassword";
send_key "tab";
type_safely "weakrootpassword";
assert_and_click "anaconda_spoke_done";
}
# Begin installation
assert_and_click "anaconda_main_hub_begin_installation";
# Begin installation after waiting out animation
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");
# As there is no need to proceed with the installation,