diff --git a/tests/browser/features/step_definitions/common_steps.rb b/tests/browser/features/step_definitions/common_steps.rb index 58503cba..4e427b0c 100644 --- a/tests/browser/features/step_definitions/common_steps.rb +++ b/tests/browser/features/step_definitions/common_steps.rb @@ -40,22 +40,23 @@ After('@reset-preferences-after') do |scenario| on(ResetPreferencesPage).submit_element.click end -Before('@uls-in-sidebar-only') do |scenario| +def uls_position() if !defined?($uls_position) visit(ULSPage) $uls_position = @browser.execute_script( "return mw.config.get( 'wgULSPosition' )" ); + else + $uls_position end - if $uls_position != 'interlanguage' +end + +Before('@uls-in-sidebar-only') do |scenario| + if uls_position() != 'interlanguage' scenario.skip_invoke! end end Before('@uls-in-personal-only') do |scenario| - if !defined?($uls_position) - visit(ULSPage) - $uls_position = @browser.execute_script( "return mw.config.get( 'wgULSPosition' )" ); - end - if $uls_position != 'personal' + if uls_position() != 'personal' scenario.skip_invoke! end end diff --git a/tests/browser/features/step_definitions/panel_steps.rb b/tests/browser/features/step_definitions/panel_steps.rb index f04870cb..5c318928 100644 --- a/tests/browser/features/step_definitions/panel_steps.rb +++ b/tests/browser/features/step_definitions/panel_steps.rb @@ -18,12 +18,14 @@ Given(/^I inspect current fonts$/) do end When(/^I open "(.*?)" panel of language settings$/) do |panel| - # These can be of two different type of elements, which PageObjects do not like. - @browser.execute_script( - "jQuery( '.uls-trigger, .uls-settings-trigger' ).eq( 0 ).click()" - ) - on(ULSPage) do |page| + # These can be of two different type of elements, which PageObjects do not like. + if uls_position() == 'interlanguage' + page.trigger_cog_element.when_visible.click + elsif uls_position() == 'personal' + page.trigger_personal_element.when_visible.click + end + case panel when "Display" page.panel_display_element.when_visible.click diff --git a/tests/browser/features/support/pages/panel_page.rb b/tests/browser/features/support/pages/panel_page.rb index a251fab2..5828647d 100644 --- a/tests/browser/features/support/pages/panel_page.rb +++ b/tests/browser/features/support/pages/panel_page.rb @@ -21,4 +21,8 @@ class ULSPage # TODO: Rename to match convention button(:other_language_button, class: 'button uls-language-button') button(:default_language_button, class: 'button uls-language-button down') + + # Triggers + span(:trigger_cog, class: 'uls-settings-trigger') + a(:trigger_personal, class: 'uls-trigger') end