From 0aa649e084628b7352b41bc4e3cc971a27b2e7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=BDeljko=20Filipin?= Date: Wed, 18 Nov 2015 11:50:39 +0100 Subject: [PATCH] Update mediawiki_selenium Ruby gem to the latest version Bug: 117976 Change-Id: I567880afcf7dc5d70e6d4edef1db16d7923ae31c --- Gemfile | 2 +- Gemfile.lock | 28 +++++++------ tests/browser/environments.yml | 39 +++++++++++++++++++ .../step_definitions/accept_language_steps.rb | 4 +- .../features/step_definitions/ime_steps.rb | 4 +- .../features/step_definitions/panel_steps.rb | 2 +- tests/browser/features/support/env.rb | 4 +- .../features/support/pages/ime_page.rb | 5 +-- .../support/pages/interlanguage_page.rb | 6 +-- .../features/support/pages/main_page.rb | 5 +-- .../support/pages/no_interlanguage_page.rb | 6 +-- .../features/support/pages/panel_page.rb | 11 +++--- .../support/pages/preferences_page.rb | 3 +- 13 files changed, 76 insertions(+), 43 deletions(-) create mode 100644 tests/browser/environments.yml diff --git a/Gemfile b/Gemfile index e4d65c72..4b7a92b5 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,4 @@ source "https://rubygems.org" -gem 'mediawiki_selenium', '~> 0.4.2' +gem 'mediawiki_selenium', '~> 1.6.2' gem "rubocop", "~> 0.29.1", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 17b23bc9..38be27c6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,7 +5,7 @@ GEM 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 @@ GEM 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,7 +29,7 @@ GEM 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) @@ -37,20 +37,22 @@ GEM mediawiki_api (0.5.0) faraday (~> 0.9, >= 0.9.0) faraday-cookie_jar (~> 0.0, >= 0.0.6) - mediawiki_selenium (0.4.3) - 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.2, >= 0.2.1) + 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 @@ GEM 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.29.1) @@ -75,16 +78,17 @@ GEM 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 @@ PLATFORMS ruby DEPENDENCIES - mediawiki_selenium (~> 0.4.2) + mediawiki_selenium (~> 1.6.2) rubocop (~> 0.29.1) diff --git a/tests/browser/environments.yml b/tests/browser/environments.yml new file mode 100644 index 00000000..35eb153f --- /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/accept_language_steps.rb b/tests/browser/features/step_definitions/accept_language_steps.rb index 012debdb..ea7530be 100644 --- a/tests/browser/features/step_definitions/accept_language_steps.rb +++ b/tests/browser/features/step_definitions/accept_language_steps.rb @@ -1,6 +1,6 @@ Given(/^that my browser's accept language is (.+)$/) do |language| - @browser = browser(test_name(@scenario), {language: language}) - $session_id = @browser.driver.instance_variable_get(:@bridge).session_id + browser = browser(test_name(@scenario), {language: language}) + $session_id = browser.driver.instance_variable_get(:@bridge).session_id end When(/^I am at the preferences page$/) do diff --git a/tests/browser/features/step_definitions/ime_steps.rb b/tests/browser/features/step_definitions/ime_steps.rb index 1dc3b2cc..998ecd77 100644 --- a/tests/browser/features/step_definitions/ime_steps.rb +++ b/tests/browser/features/step_definitions/ime_steps.rb @@ -3,7 +3,7 @@ Given(/^I am on a wiki in Kotava language$/) do step "I am at the main page" # Fake a Kotava Wiki - @browser.execute_script( "mw.config.set( 'wgContentLanguage', 'avk' )" ) + browser.execute_script( "mw.config.set( 'wgContentLanguage', 'avk' )" ) end When(/^I click on an input box$/) do @@ -55,7 +55,7 @@ When(/^I press Control-M$/) do end When(/^I reload the page$/) do - @browser.refresh + browser.refresh end Then(/^in it there must be an element with Malayalam text$/) do diff --git a/tests/browser/features/step_definitions/panel_steps.rb b/tests/browser/features/step_definitions/panel_steps.rb index a2d9a99e..cfbfdd7f 100644 --- a/tests/browser/features/step_definitions/panel_steps.rb +++ b/tests/browser/features/step_definitions/panel_steps.rb @@ -1,5 +1,5 @@ Then(/^I see "(.*?)" as the name of the content language$/) do |text| - @browser.span(:text => "#{text}").should be_visible + browser.span(:text => "#{text}").should be_visible end When(/^I open the Universal Language Selector$/) do diff --git a/tests/browser/features/support/env.rb b/tests/browser/features/support/env.rb index 8ac08eab..c1072b26 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/ime_page.rb b/tests/browser/features/support/pages/ime_page.rb index f2e59c04..c1bd4549 100644 --- a/tests/browser/features/support/pages/ime_page.rb +++ b/tests/browser/features/support/pages/ime_page.rb @@ -2,8 +2,7 @@ class IMEPage include PageObject include LanguageModule - include URL - page_url URL.url("?<%=params[:extra]%>") + page_url "?<%=params[:extra]%>" div(:input_method, class: "imeselector imeselector-toggle") a(:input_method_enabled, class: "ime-name imeselector-toggle") @@ -16,7 +15,7 @@ class IMEPage text_field(:search_input, id: "searchInput") def ime_input_method_menu_onscreen? - @browser.execute_script( " + browser.execute_script( " var $selectorMenu = $( '.imeselector-menu' ), menuLeft = $selectorMenu.offset().left, menuRight = menuLeft + $selectorMenu.width(); diff --git a/tests/browser/features/support/pages/interlanguage_page.rb b/tests/browser/features/support/pages/interlanguage_page.rb index 03b38cce..bc846f91 100644 --- a/tests/browser/features/support/pages/interlanguage_page.rb +++ b/tests/browser/features/support/pages/interlanguage_page.rb @@ -2,9 +2,5 @@ class InterlanguagePage include PageObject include InterlanguagePageModule - include URL - def self.url - URL.url("Boleyn_family") - end - page_url url + page_url "Boleyn_family" end diff --git a/tests/browser/features/support/pages/main_page.rb b/tests/browser/features/support/pages/main_page.rb index 9aaa0b14..13d0cc8c 100644 --- a/tests/browser/features/support/pages/main_page.rb +++ b/tests/browser/features/support/pages/main_page.rb @@ -1,8 +1,7 @@ class MainPage include PageObject - include URL - page_url URL.url("Main_Page") + page_url "Main_Page" span(:cog, title: "Language settings") a(:create_a_book, text: "Create a book") @@ -18,7 +17,7 @@ class MainPage button(:search_button, id: "searchButton") def non_interlanguage_links_use_autonym_font? - @browser.elements(css: "#p-lang li:not(.interlanguage-link)").collect do |element| + browser.elements(css: "#p-lang li:not(.interlanguage-link)").collect do |element| element.style("font-family") end.to_s.match(/Autonym/) != nil end diff --git a/tests/browser/features/support/pages/no_interlanguage_page.rb b/tests/browser/features/support/pages/no_interlanguage_page.rb index 76d9d1cc..581fa9cd 100644 --- a/tests/browser/features/support/pages/no_interlanguage_page.rb +++ b/tests/browser/features/support/pages/no_interlanguage_page.rb @@ -1,11 +1,7 @@ class NoInterlanguagePage include PageObject - include URL - def self.url - URL.url("Think_Like_a_Cat") - end - page_url url + page_url "Think_Like_a_Cat" include InterlanguagePageModule end diff --git a/tests/browser/features/support/pages/panel_page.rb b/tests/browser/features/support/pages/panel_page.rb index 9b25421c..eae2a764 100644 --- a/tests/browser/features/support/pages/panel_page.rb +++ b/tests/browser/features/support/pages/panel_page.rb @@ -2,8 +2,7 @@ class PanelPage include PageObject include LanguageModule - include URL - page_url URL.url("?<%=params[:extra]%>") + page_url "?<%=params[:extra]%>" div(:uls, class: "uls-menu") span(:uls_button_close, id: "uls-close") @@ -48,7 +47,7 @@ class PanelPage div(:interface, id: "footer") def uls_language_name_item(language) - @browser.element(css: ".uls-language-block li[lang=#{language}] a") + browser.element(css: ".uls-language-block li[lang=#{language}] a") end def content_font @@ -60,7 +59,7 @@ class PanelPage end def uls_onscreen? - @browser.execute_script( " + browser.execute_script( " var $menu = $( '.uls-menu' ), $window = $( window ), top = $menu.offset().top, @@ -71,11 +70,11 @@ class PanelPage end def webfonts_library_loaded - @browser.execute_script( "return ( $( 'body' ).data( 'webfonts' ) !== undefined )" ) + browser.execute_script( "return ( $( 'body' ).data( 'webfonts' ) !== undefined )" ) end private def font(selector) - @browser.execute_script( "return $( '#{selector}' ).css( 'font-family' );" ) + browser.execute_script( "return $( '#{selector}' ).css( 'font-family' );" ) end end diff --git a/tests/browser/features/support/pages/preferences_page.rb b/tests/browser/features/support/pages/preferences_page.rb index 26139885..569b8920 100644 --- a/tests/browser/features/support/pages/preferences_page.rb +++ b/tests/browser/features/support/pages/preferences_page.rb @@ -1,8 +1,7 @@ class PreferencesPage include PageObject - include URL - page_url URL.url("Special:Preferences") + page_url "Special:Preferences" select(:set_interface_language, id: "mw-input-wplanguage") button(:save, id: "prefcontrol")