From 6b5ba6e570cee8079446727920e4ced4266369f3 Mon Sep 17 00:00:00 2001 From: Lukas Ruzicka Date: Mon, 27 Apr 2026 14:21:21 +0200 Subject: [PATCH] Fix the welcome screen --- .../gnome_initial_setup.pm | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/tests/applications/gnome-initial-setup/gnome_initial_setup.pm b/tests/applications/gnome-initial-setup/gnome_initial_setup.pm index 86bd1b64..7a0f719c 100644 --- a/tests/applications/gnome-initial-setup/gnome_initial_setup.pm +++ b/tests/applications/gnome-initial-setup/gnome_initial_setup.pm @@ -29,11 +29,17 @@ sub get_screen { } sub handle_welcome { - # Select a non-default language explicitely. - type_string('Czech'); - wait_still_screen(2); - assert_and_click('gis_lang_czech_select'); - assert_and_click('next_button'); + my $welcome_type = shift; + if ($welcome_type eq "langselect") { + # Select a non-default language explicitely. + type_string('Czech'); + wait_still_screen(2); + assert_and_click('gis_lang_czech_select'); + assert_and_click('next_button'); + } + else { + assert_and_click('gis_button_start_setup'); + } } sub handle_keyboard { @@ -107,6 +113,7 @@ sub run { my $iterations = 0; my %visited_screens; my @required_screens = qw( + welcome privacy timezone software @@ -123,7 +130,17 @@ sub run { last if $current_screen eq 'final'; if ($current_screen eq 'welcome') { - handle_welcome(); + # Welcome can have two types, either it is a language + # setting screen, or it is just a real welcom page. + # Check if we see the "Start Setup" button and in + # that case, click on it, otherwise do the language + # selection. + if (check_screen('gis_button_start_setup', timeout => 10)) { + handle_welcome('welcome'); + } + else { + handle_welcome('langselect'); + } } elsif ($current_screen eq 'keyboard') { handle_keyboard();