diff --git a/lib/anaconda.pm b/lib/anaconda.pm index 5740d34d..96537903 100644 --- a/lib/anaconda.pm +++ b/lib/anaconda.pm @@ -411,6 +411,19 @@ sub check_help_on_pane { } # Otherwise, only check the relevant screen. else { + # Rocky help has a level of indirection here. Need to click a link first... + if ((get_var('DISTRI') eq "rocky")) + { + if ($screen eq "keyboard_layout" || $screen eq "language_support" || $screen eq "time_date") + { + assert_and_click "anaconda_help_localization_link"; + # Specifically for language_support and time_date press page-down + if ($screen eq "language_support" || $screen eq "time_date") + { + send_key "spc"; + } + } + } assert_screen "anaconda_help_$screen"; } # Close Help window diff --git a/tests/anaconda_help.pm b/tests/anaconda_help.pm index 2ca0df74..2243df18 100644 --- a/tests/anaconda_help.pm +++ b/tests/anaconda_help.pm @@ -24,8 +24,14 @@ sub run { # Create test plans my @testplan; + # For Rocky ISO + if ((get_var('DISTRI') eq "Rocky")) { + @testplan = qw/keyboard_layout language_support time_date installation_source select_packages install_destination network_host_name root_password create_user/; + } + # While technically we don't need any of these Fedora test plans it's worth + # leaving them here for now as examples. # For LIVE KDE: - if ((get_var('LIVE')) && (get_var('DESKTOP') eq "kde")) { + elsif ((get_var('LIVE')) && (get_var('DESKTOP') eq "kde")) { @testplan = qw/keyboard_layout time_date install_destination network_host_name root_password create_user/; } # For LIVE Workstation @@ -51,6 +57,11 @@ sub run { # need to set a root password or create a user; on other flavors # we must unless (get_var("DESKTOP") eq "gnome" ) { + # In Rocky ISO you will finish testplan on Create User and need to shift-tab to select + # Root password + if ((get_var("DISTRI") eq "rocky" )) { + send_key_until_needlematch("anaconda_main_hub_root_password", "shift-tab"); + } assert_and_click "anaconda_main_hub_root_password"; type_safely "weakrootpassword"; send_key "tab"; @@ -62,7 +73,9 @@ sub run { wait_screen_change { assert_and_click "anaconda_main_hub_begin_installation"; }; # Check the last Help screen - check_help_on_pane("installation_progress"); + unless (get_var("DISTRI") eq "rocky") { + check_help_on_pane("installation_progress"); + } # As there is no need to proceed with the installation, # the test ends here and the VM will be destroyed