Zfilipin has uploaded a new change for review. https://gerrit.wikimedia.org/r/251516
Change subject: Update mediawiki_selenium Ruby gem to version 1.6 ...................................................................... Update mediawiki_selenium Ruby gem to version 1.6 Bug: T117978 Change-Id: Id7a9fd235b0e726872c84c8362ad8635f6246da0 --- M Gemfile M Gemfile.lock A tests/browser/environments.yml M tests/browser/features/step_definitions/translation_stash_steps.rb M tests/browser/features/support/env.rb M tests/browser/features/support/pages/manage_translator_sandbox_page.rb M tests/browser/features/support/pages/stash_page.rb M tests/browser/features/support/pages/translate_page.rb M tests/browser/features/support/pages/user_page.rb 9 files changed, 82 insertions(+), 41 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate refs/changes/16/251516/1 diff --git a/Gemfile b/Gemfile index f8f1f9d..45f75d7 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,4 @@ source "https://rubygems.org" -gem "mediawiki_selenium", "~> 0.2.23" +gem "mediawiki_selenium", "~> 1.6.2" gem "rubocop", "~> 0.26.1", require: false diff --git a/Gemfile.lock b/Gemfile.lock index ad8e9c8..b999b7c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,7 +5,7 @@ astrolabe (1.3.1) parser (~> 2.2) builder (3.2.2) - childprocess (0.5.6) + childprocess (0.5.7) ffi (~> 1.0, >= 1.0.11) cucumber (1.3.20) builder (>= 2.1.2) @@ -17,11 +17,11 @@ faker (>= 1.1.2) yml_reader (>= 0.4) diff-lcs (1.2.5) - domain_name (0.5.24) + domain_name (0.5.25) unf (>= 0.0.5, < 1.0.0) faker (1.5.0) i18n (~> 0.5) - faraday (0.9.1) + faraday (0.9.2) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) faraday (>= 0.7.4) @@ -29,28 +29,30 @@ ffi (1.9.10) gherkin (2.12.2) multi_json (~> 1.3) - headless (1.0.2) + headless (2.2.0) http-cookie (1.0.2) domain_name (~> 0.5) i18n (0.7.0) json (1.8.3) - mediawiki_api (0.1.4) + mediawiki_api (0.5.0) faraday (~> 0.9, >= 0.9.0) faraday-cookie_jar (~> 0.0, >= 0.0.6) - mediawiki_selenium (0.2.26) - cucumber (~> 1.3, >= 1.3.10) - headless (~> 1.0, >= 1.0.1) + mediawiki_selenium (1.6.2) + cucumber (~> 1.3, >= 1.3.20) + headless (~> 2.0, >= 2.1.0) json (~> 1.8, >= 1.8.1) - mediawiki_api (~> 0.1.3) + mediawiki_api (~> 0.5, >= 0.5.0) page-object (~> 1.0) rest-client (~> 1.6, >= 1.6.7) + rspec-core (~> 2.14, >= 2.14.4) rspec-expectations (~> 2.14, >= 2.14.4) syntax (~> 1.2, >= 1.2.0) + thor (~> 0.19, >= 0.19.1) mime-types (2.6.2) multi_json (1.11.2) multi_test (0.1.2) multipart-post (2.0.0) - netrc (0.10.3) + netrc (0.11.0) page-object (1.1.0) page_navigation (>= 0.9) selenium-webdriver (>= 2.44.0) @@ -65,6 +67,7 @@ http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 3.0) netrc (~> 0.7) + rspec-core (2.99.2) rspec-expectations (2.99.2) diff-lcs (>= 1.1.3, < 2.0) rubocop (0.26.1) @@ -75,16 +78,17 @@ ruby-progressbar (~> 1.4) ruby-progressbar (1.7.5) rubyzip (1.1.7) - selenium-webdriver (2.47.1) + selenium-webdriver (2.48.1) childprocess (~> 0.5) multi_json (~> 1.0) rubyzip (~> 1.0) websocket (~> 1.0) syntax (1.2.0) + thor (0.19.1) unf (0.1.4) unf_ext unf_ext (0.0.7.1) - watir-webdriver (0.8.0) + watir-webdriver (0.9.1) selenium-webdriver (>= 2.46.2) websocket (1.2.2) yml_reader (0.5) @@ -93,5 +97,5 @@ ruby DEPENDENCIES - mediawiki_selenium (~> 0.2.23) + mediawiki_selenium (~> 1.6.2) rubocop (~> 0.26.1) diff --git a/tests/browser/environments.yml b/tests/browser/environments.yml new file mode 100644 index 0000000..35eb153 --- /dev/null +++ b/tests/browser/environments.yml @@ -0,0 +1,39 @@ +# Customize this configuration as necessary to provide defaults for various +# test environments. +# +# The set of defaults to use is determined by the MEDIAWIKI_ENVIRONMENT +# environment variable. +# +# export MEDIAWIKI_ENVIRONMENT=mw-vagrant-host +# bundle exec cucumber +# +# Additional variables set by the environment will override the corresponding +# defaults defined here. +# +# export MEDIAWIKI_ENVIRONMENT=mw-vagrant-host +# export MEDIAWIKI_USER=Selenium_user2 +# bundle exec cucumber +# +mw-vagrant-host: &default + user_factory: true + mediawiki_url: http://127.0.0.1:8080/wiki/ + +mw-vagrant-guest: + user_factory: true + mediawiki_url: http://127.0.0.1/wiki/ + +beta: + mediawiki_url: http://en.wikipedia.beta.wmflabs.org/wiki/ + mediawiki_user: Selenium_user + # mediawiki_password: SET THIS IN THE ENVIRONMENT! + +test2: + mediawiki_url: http://test2.wikipedia.org/wiki/ + mediawiki_user: Selenium_user + # mediawiki_password: SET THIS IN THE ENVIRONMENT! + +integration: + user_factory: true + # mediawiki_url: THIS WILL BE SET BY JENKINS + +default: *default diff --git a/tests/browser/features/step_definitions/translation_stash_steps.rb b/tests/browser/features/step_definitions/translation_stash_steps.rb index 9494333..695ba05 100644 --- a/tests/browser/features/step_definitions/translation_stash_steps.rb +++ b/tests/browser/features/step_definitions/translation_stash_steps.rb @@ -1,5 +1,5 @@ Given(/^I am logged in at sandbox$/) do - visit(LoginPage).login_with(ENV["MEDIAWIKI_USER"], ENV["MEDIAWIKI_PASSWORD"], false) + visit(LoginPage).login_with(user, password, false) end Given(/^I am a sandboxed user on the stash page$/) do diff --git a/tests/browser/features/support/env.rb b/tests/browser/features/support/env.rb index 8ac08ea..c1072b2 100644 --- a/tests/browser/features/support/env.rb +++ b/tests/browser/features/support/env.rb @@ -1 +1,3 @@ -require "mediawiki_selenium" +require 'mediawiki_selenium/cucumber' +require 'mediawiki_selenium/pages' +require 'mediawiki_selenium/step_definitions' diff --git a/tests/browser/features/support/pages/manage_translator_sandbox_page.rb b/tests/browser/features/support/pages/manage_translator_sandbox_page.rb index e3b0171..d803d68 100644 --- a/tests/browser/features/support/pages/manage_translator_sandbox_page.rb +++ b/tests/browser/features/support/pages/manage_translator_sandbox_page.rb @@ -3,8 +3,7 @@ class ManageTranslatorSandboxPage include PageObject - include URL - page_url URL.url("Special:ManageTranslatorSandbox?<%=params[:extra]%>") + page_url "Special:ManageTranslatorSandbox?<%=params[:extra]%>" button(:clear_language_selector, class: "clear-language-selector") @@ -28,48 +27,48 @@ # This must be reloaded every time, because it may change during the test def details_header - @browser.element(class: "tsb-header") + browser.element(class: "tsb-header") end def details_button(label) button_class = label.downcase.gsub(" ", "-") - @browser.button(class: button_class) + browser.button(class: button_class) end def details_no_translations - @browser.divs(class: "tsb-details-no-translations") + browser.divs(class: "tsb-details-no-translations") end def visible_request_selectors_element - @browser.elements(css: ".row.request:not(.hide) .request-selector") + browser.elements(css: ".row.request:not(.hide) .request-selector") end def visible_users_element - @browser.elements(css: ".row.request:not(.hide) .username") + browser.elements(css: ".row.request:not(.hide) .username") end def visible_requests_element - @browser.elements(css: ".row.request:not(.hide)") + browser.elements(css: ".row.request:not(.hide)") end def hidden_users_element - @browser.elements(css: ".requests .request.hide") + browser.elements(css: ".requests .request.hide") end def request_with_username(username) - @browser.div(id: "tsb-request-#{username}") + browser.div(id: "tsb-request-#{username}") end def requests_without_username(username) - @browser.elements(css: ".row.request:not(#tsb-request-#{username})") + browser.elements(css: ".row.request:not(#tsb-request-#{username})") end def translation_elements - @browser.elements(css: ".details .translation") + browser.elements(css: ".details .translation") end def checkbox_for_request_with_username(username) - @browser.div(id: "tsb-request-#{username}").checkbox(class: "request-selector") + browser.div(id: "tsb-request-#{username}").checkbox(class: "request-selector") end def visible_users_start_with?(prefix) @@ -111,7 +110,7 @@ end def details_autonym - @browser.elements(css: ".details.pane .languages span")[0] + browser.elements(css: ".details.pane .languages span")[0] end def translations_languages_are_sorted? @@ -122,7 +121,7 @@ end def translations_autonyms - @browser.elements(css: ".details.pane .translations .info.autonym") + browser.elements(css: ".details.pane .translations .info.autonym") end def click_button(label) @@ -133,7 +132,7 @@ # It takes a few moments until Accept and Reject buttons # finish performing the action, and this action always # removes the currently displayed users and changes the header - Watir::Wait.while { @browser.execute_script "return window.tsbUpdatingUsers" } + Watir::Wait.while { browser.execute_script "return window.tsbUpdatingUsers" } end def only_request_with_username_is_selected?(username) diff --git a/tests/browser/features/support/pages/stash_page.rb b/tests/browser/features/support/pages/stash_page.rb index a058efb..4cc893c 100644 --- a/tests/browser/features/support/pages/stash_page.rb +++ b/tests/browser/features/support/pages/stash_page.rb @@ -1,8 +1,7 @@ class StashPage include PageObject - include URL - page_url URL.url("Special:TranslationStash?<%=params[:extra]%>") + page_url "Special:TranslationStash?<%=params[:extra]%>" a(:edit, text: "Edit") @@ -21,7 +20,7 @@ save_button_element(index).click end def save_button_element(index = 0) - @browser.button(:class => "tux-editor-save-button", :index => index) + browser.button(:class => "tux-editor-save-button", :index => index) end def select_language(language) self.language_selector_element.click @@ -29,6 +28,6 @@ self.language_filter_element.send_keys :enter end def translation_element(index = 0) - @browser.text_field(:class => "tux-textarea-translation", :index => index) + browser.text_field(:class => "tux-textarea-translation", :index => index) end end diff --git a/tests/browser/features/support/pages/translate_page.rb b/tests/browser/features/support/pages/translate_page.rb index 5cf5947..69cc6ae 100644 --- a/tests/browser/features/support/pages/translate_page.rb +++ b/tests/browser/features/support/pages/translate_page.rb @@ -1,8 +1,7 @@ class TranslatePage include PageObject - include URL - page_url URL.url("Special:Translate?<%=params[:extra]%>") + page_url "Special:Translate?<%=params[:extra]%>" div(:workflow_state, class: "tux-workflow-status") ul(:workflow_state_selector, class: "tux-workflow-status-selector") diff --git a/tests/browser/features/support/pages/user_page.rb b/tests/browser/features/support/pages/user_page.rb index b6a7a03..f274c9b 100644 --- a/tests/browser/features/support/pages/user_page.rb +++ b/tests/browser/features/support/pages/user_page.rb @@ -1,12 +1,11 @@ class UserPage include PageObject - include URL - page_url URL.url("User:<%=params[:extra]%>") + page_url "User:<%=params[:extra]%>" def babel_box_has_languages?(languages) languages.split(/, /).all? do |language| - @browser.element(css: ".mw-babel-box td[lang=#{language}]").visible? + browser.element(css: ".mw-babel-box td[lang=#{language}]").visible? end end -- To view, visit https://gerrit.wikimedia.org/r/251516 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id7a9fd235b0e726872c84c8362ad8635f6246da0 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Translate Gerrit-Branch: master Gerrit-Owner: Zfilipin <zfili...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits