Jdlrobson has uploaded a new change for review. https://gerrit.wikimedia.org/r/227367
Change subject: Fix flakey search in pages feature ...................................................................... Fix flakey search in pages feature We seem to have forgotten that history.back is queued Thus correct behaviour so this feature works as expected. Also cleanup the browser test in the process to make it clearer to debug in future Changes: * the page "Selenium search test" exists step seems to actually visit this page, so switch the order so we are on the correct starting page. * Add a step to explicitly check the ajax search request has finished. Bug: T98476 Change-Id: I9abb8f57adb7d7e197a8a9e73aee0894ab407d57 --- M resources/mobile.search/SearchOverlay.js M tests/browser/features/search.feature M tests/browser/features/step_definitions/search_steps.rb 3 files changed, 11 insertions(+), 4 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend refs/changes/67/227367/1 diff --git a/resources/mobile.search/SearchOverlay.js b/resources/mobile.search/SearchOverlay.js index 8d2b0de..728e437 100644 --- a/resources/mobile.search/SearchOverlay.js +++ b/resources/mobile.search/SearchOverlay.js @@ -163,7 +163,11 @@ value: 'search' } ) .appendTo( $form ); - $form.submit(); + // history.back queues a task so might run after this call. Thus we use setTimeout + // http://www.w3.org/TR/2011/WD-html5-20110113/webappapis.html#queue-a-task + window.setTimeout( function () { + $form.submit(); + }, 0 ); }, /** diff --git a/tests/browser/features/search.feature b/tests/browser/features/search.feature index ce9b062..385744a 100644 --- a/tests/browser/features/search.feature +++ b/tests/browser/features/search.feature @@ -3,8 +3,8 @@ Background: Given I am using the mobile site + #And the page "Selenium search test" exists And I am on the "Main Page" page - And the page "Selenium search test" exists When I click the placeholder search box Scenario: Closing search (overlay button) @@ -23,6 +23,7 @@ Scenario: Search with search in pages button And I see the search overlay And I type into search box "Test is used by Selenium web driver" + And I see the search in pages button And I click the search in pages button Then I should see a list of search results diff --git a/tests/browser/features/step_definitions/search_steps.rb b/tests/browser/features/step_definitions/search_steps.rb index bb17bbc..db46043 100644 --- a/tests/browser/features/step_definitions/search_steps.rb +++ b/tests/browser/features/step_definitions/search_steps.rb @@ -15,9 +15,11 @@ on(ArticlePage).search_button_element.when_present.click end +When(/^I see the search in pages button$/) do + expect(on(ArticlePage).search_within_pages_element.when_visible).to be_visible +end + When(/^I click the search in pages button$/) do - # Search results may take time to appear - sleep 5 on(ArticlePage).search_within_pages_element.when_present.click end -- To view, visit https://gerrit.wikimedia.org/r/227367 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9abb8f57adb7d7e197a8a9e73aee0894ab407d57 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/MobileFrontend Gerrit-Branch: master Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits