Update mediawiki_selenium Ruby gem to the latest version
Bug: 117976 Change-Id: I567880afcf7dc5d70e6d4edef1db16d7923ae31c
This commit is contained in:
2
Gemfile
2
Gemfile
@@ -1,4 +1,4 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem 'mediawiki_selenium', '~> 0.4.2'
|
gem 'mediawiki_selenium', '~> 1.6.2'
|
||||||
gem "rubocop", "~> 0.29.1", require: false
|
gem "rubocop", "~> 0.29.1", require: false
|
||||||
|
|||||||
28
Gemfile.lock
28
Gemfile.lock
@@ -5,7 +5,7 @@ GEM
|
|||||||
astrolabe (1.3.1)
|
astrolabe (1.3.1)
|
||||||
parser (~> 2.2)
|
parser (~> 2.2)
|
||||||
builder (3.2.2)
|
builder (3.2.2)
|
||||||
childprocess (0.5.6)
|
childprocess (0.5.7)
|
||||||
ffi (~> 1.0, >= 1.0.11)
|
ffi (~> 1.0, >= 1.0.11)
|
||||||
cucumber (1.3.20)
|
cucumber (1.3.20)
|
||||||
builder (>= 2.1.2)
|
builder (>= 2.1.2)
|
||||||
@@ -17,11 +17,11 @@ GEM
|
|||||||
faker (>= 1.1.2)
|
faker (>= 1.1.2)
|
||||||
yml_reader (>= 0.4)
|
yml_reader (>= 0.4)
|
||||||
diff-lcs (1.2.5)
|
diff-lcs (1.2.5)
|
||||||
domain_name (0.5.24)
|
domain_name (0.5.25)
|
||||||
unf (>= 0.0.5, < 1.0.0)
|
unf (>= 0.0.5, < 1.0.0)
|
||||||
faker (1.5.0)
|
faker (1.5.0)
|
||||||
i18n (~> 0.5)
|
i18n (~> 0.5)
|
||||||
faraday (0.9.1)
|
faraday (0.9.2)
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (>= 1.2, < 3)
|
||||||
faraday-cookie_jar (0.0.6)
|
faraday-cookie_jar (0.0.6)
|
||||||
faraday (>= 0.7.4)
|
faraday (>= 0.7.4)
|
||||||
@@ -29,7 +29,7 @@ GEM
|
|||||||
ffi (1.9.10)
|
ffi (1.9.10)
|
||||||
gherkin (2.12.2)
|
gherkin (2.12.2)
|
||||||
multi_json (~> 1.3)
|
multi_json (~> 1.3)
|
||||||
headless (1.0.2)
|
headless (2.2.0)
|
||||||
http-cookie (1.0.2)
|
http-cookie (1.0.2)
|
||||||
domain_name (~> 0.5)
|
domain_name (~> 0.5)
|
||||||
i18n (0.7.0)
|
i18n (0.7.0)
|
||||||
@@ -37,20 +37,22 @@ GEM
|
|||||||
mediawiki_api (0.5.0)
|
mediawiki_api (0.5.0)
|
||||||
faraday (~> 0.9, >= 0.9.0)
|
faraday (~> 0.9, >= 0.9.0)
|
||||||
faraday-cookie_jar (~> 0.0, >= 0.0.6)
|
faraday-cookie_jar (~> 0.0, >= 0.0.6)
|
||||||
mediawiki_selenium (0.4.3)
|
mediawiki_selenium (1.6.2)
|
||||||
cucumber (~> 1.3, >= 1.3.10)
|
cucumber (~> 1.3, >= 1.3.20)
|
||||||
headless (~> 1.0, >= 1.0.1)
|
headless (~> 2.0, >= 2.1.0)
|
||||||
json (~> 1.8, >= 1.8.1)
|
json (~> 1.8, >= 1.8.1)
|
||||||
mediawiki_api (~> 0.2, >= 0.2.1)
|
mediawiki_api (~> 0.5, >= 0.5.0)
|
||||||
page-object (~> 1.0)
|
page-object (~> 1.0)
|
||||||
rest-client (~> 1.6, >= 1.6.7)
|
rest-client (~> 1.6, >= 1.6.7)
|
||||||
|
rspec-core (~> 2.14, >= 2.14.4)
|
||||||
rspec-expectations (~> 2.14, >= 2.14.4)
|
rspec-expectations (~> 2.14, >= 2.14.4)
|
||||||
syntax (~> 1.2, >= 1.2.0)
|
syntax (~> 1.2, >= 1.2.0)
|
||||||
|
thor (~> 0.19, >= 0.19.1)
|
||||||
mime-types (2.6.2)
|
mime-types (2.6.2)
|
||||||
multi_json (1.11.2)
|
multi_json (1.11.2)
|
||||||
multi_test (0.1.2)
|
multi_test (0.1.2)
|
||||||
multipart-post (2.0.0)
|
multipart-post (2.0.0)
|
||||||
netrc (0.10.3)
|
netrc (0.11.0)
|
||||||
page-object (1.1.0)
|
page-object (1.1.0)
|
||||||
page_navigation (>= 0.9)
|
page_navigation (>= 0.9)
|
||||||
selenium-webdriver (>= 2.44.0)
|
selenium-webdriver (>= 2.44.0)
|
||||||
@@ -65,6 +67,7 @@ GEM
|
|||||||
http-cookie (>= 1.0.2, < 2.0)
|
http-cookie (>= 1.0.2, < 2.0)
|
||||||
mime-types (>= 1.16, < 3.0)
|
mime-types (>= 1.16, < 3.0)
|
||||||
netrc (~> 0.7)
|
netrc (~> 0.7)
|
||||||
|
rspec-core (2.99.2)
|
||||||
rspec-expectations (2.99.2)
|
rspec-expectations (2.99.2)
|
||||||
diff-lcs (>= 1.1.3, < 2.0)
|
diff-lcs (>= 1.1.3, < 2.0)
|
||||||
rubocop (0.29.1)
|
rubocop (0.29.1)
|
||||||
@@ -75,16 +78,17 @@ GEM
|
|||||||
ruby-progressbar (~> 1.4)
|
ruby-progressbar (~> 1.4)
|
||||||
ruby-progressbar (1.7.5)
|
ruby-progressbar (1.7.5)
|
||||||
rubyzip (1.1.7)
|
rubyzip (1.1.7)
|
||||||
selenium-webdriver (2.47.1)
|
selenium-webdriver (2.48.1)
|
||||||
childprocess (~> 0.5)
|
childprocess (~> 0.5)
|
||||||
multi_json (~> 1.0)
|
multi_json (~> 1.0)
|
||||||
rubyzip (~> 1.0)
|
rubyzip (~> 1.0)
|
||||||
websocket (~> 1.0)
|
websocket (~> 1.0)
|
||||||
syntax (1.2.0)
|
syntax (1.2.0)
|
||||||
|
thor (0.19.1)
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
unf_ext
|
unf_ext
|
||||||
unf_ext (0.0.7.1)
|
unf_ext (0.0.7.1)
|
||||||
watir-webdriver (0.8.0)
|
watir-webdriver (0.9.1)
|
||||||
selenium-webdriver (>= 2.46.2)
|
selenium-webdriver (>= 2.46.2)
|
||||||
websocket (1.2.2)
|
websocket (1.2.2)
|
||||||
yml_reader (0.5)
|
yml_reader (0.5)
|
||||||
@@ -93,5 +97,5 @@ PLATFORMS
|
|||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
mediawiki_selenium (~> 0.4.2)
|
mediawiki_selenium (~> 1.6.2)
|
||||||
rubocop (~> 0.29.1)
|
rubocop (~> 0.29.1)
|
||||||
|
|||||||
39
tests/browser/environments.yml
Normal file
39
tests/browser/environments.yml
Normal file
@@ -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
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
Given(/^that my browser's accept language is (.+)$/) do |language|
|
Given(/^that my browser's accept language is (.+)$/) do |language|
|
||||||
@browser = browser(test_name(@scenario), {language: language})
|
browser = browser(test_name(@scenario), {language: language})
|
||||||
$session_id = @browser.driver.instance_variable_get(:@bridge).session_id
|
$session_id = browser.driver.instance_variable_get(:@bridge).session_id
|
||||||
end
|
end
|
||||||
|
|
||||||
When(/^I am at the preferences page$/) do
|
When(/^I am at the preferences page$/) do
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Given(/^I am on a wiki in Kotava language$/) do
|
Given(/^I am on a wiki in Kotava language$/) do
|
||||||
step "I am at the main page"
|
step "I am at the main page"
|
||||||
# Fake a Kotava Wiki
|
# Fake a Kotava Wiki
|
||||||
@browser.execute_script( "mw.config.set( 'wgContentLanguage', 'avk' )" )
|
browser.execute_script( "mw.config.set( 'wgContentLanguage', 'avk' )" )
|
||||||
end
|
end
|
||||||
|
|
||||||
When(/^I click on an input box$/) do
|
When(/^I click on an input box$/) do
|
||||||
@@ -55,7 +55,7 @@ When(/^I press Control-M$/) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
When(/^I reload the page$/) do
|
When(/^I reload the page$/) do
|
||||||
@browser.refresh
|
browser.refresh
|
||||||
end
|
end
|
||||||
|
|
||||||
Then(/^in it there must be an element with Malayalam text$/) do
|
Then(/^in it there must be an element with Malayalam text$/) do
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Then(/^I see "(.*?)" as the name of the content language$/) do |text|
|
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
|
end
|
||||||
|
|
||||||
When(/^I open the Universal Language Selector$/) do
|
When(/^I open the Universal Language Selector$/) do
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
require "mediawiki_selenium"
|
require 'mediawiki_selenium/cucumber'
|
||||||
|
require 'mediawiki_selenium/pages'
|
||||||
|
require 'mediawiki_selenium/step_definitions'
|
||||||
|
|||||||
@@ -2,8 +2,7 @@ class IMEPage
|
|||||||
include PageObject
|
include PageObject
|
||||||
include LanguageModule
|
include LanguageModule
|
||||||
|
|
||||||
include URL
|
page_url "?<%=params[:extra]%>"
|
||||||
page_url URL.url("?<%=params[:extra]%>")
|
|
||||||
|
|
||||||
div(:input_method, class: "imeselector imeselector-toggle")
|
div(:input_method, class: "imeselector imeselector-toggle")
|
||||||
a(:input_method_enabled, class: "ime-name imeselector-toggle")
|
a(:input_method_enabled, class: "ime-name imeselector-toggle")
|
||||||
@@ -16,7 +15,7 @@ class IMEPage
|
|||||||
text_field(:search_input, id: "searchInput")
|
text_field(:search_input, id: "searchInput")
|
||||||
|
|
||||||
def ime_input_method_menu_onscreen?
|
def ime_input_method_menu_onscreen?
|
||||||
@browser.execute_script( "
|
browser.execute_script( "
|
||||||
var $selectorMenu = $( '.imeselector-menu' ),
|
var $selectorMenu = $( '.imeselector-menu' ),
|
||||||
menuLeft = $selectorMenu.offset().left,
|
menuLeft = $selectorMenu.offset().left,
|
||||||
menuRight = menuLeft + $selectorMenu.width();
|
menuRight = menuLeft + $selectorMenu.width();
|
||||||
|
|||||||
@@ -2,9 +2,5 @@ class InterlanguagePage
|
|||||||
include PageObject
|
include PageObject
|
||||||
include InterlanguagePageModule
|
include InterlanguagePageModule
|
||||||
|
|
||||||
include URL
|
page_url "Boleyn_family"
|
||||||
def self.url
|
|
||||||
URL.url("Boleyn_family")
|
|
||||||
end
|
|
||||||
page_url url
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
class MainPage
|
class MainPage
|
||||||
include PageObject
|
include PageObject
|
||||||
|
|
||||||
include URL
|
page_url "Main_Page"
|
||||||
page_url URL.url("Main_Page")
|
|
||||||
|
|
||||||
span(:cog, title: "Language settings")
|
span(:cog, title: "Language settings")
|
||||||
a(:create_a_book, text: "Create a book")
|
a(:create_a_book, text: "Create a book")
|
||||||
@@ -18,7 +17,7 @@ class MainPage
|
|||||||
button(:search_button, id: "searchButton")
|
button(:search_button, id: "searchButton")
|
||||||
|
|
||||||
def non_interlanguage_links_use_autonym_font?
|
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")
|
element.style("font-family")
|
||||||
end.to_s.match(/Autonym/) != nil
|
end.to_s.match(/Autonym/) != nil
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
class NoInterlanguagePage
|
class NoInterlanguagePage
|
||||||
include PageObject
|
include PageObject
|
||||||
|
|
||||||
include URL
|
page_url "Think_Like_a_Cat"
|
||||||
def self.url
|
|
||||||
URL.url("Think_Like_a_Cat")
|
|
||||||
end
|
|
||||||
page_url url
|
|
||||||
|
|
||||||
include InterlanguagePageModule
|
include InterlanguagePageModule
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,8 +2,7 @@ class PanelPage
|
|||||||
include PageObject
|
include PageObject
|
||||||
include LanguageModule
|
include LanguageModule
|
||||||
|
|
||||||
include URL
|
page_url "?<%=params[:extra]%>"
|
||||||
page_url URL.url("?<%=params[:extra]%>")
|
|
||||||
|
|
||||||
div(:uls, class: "uls-menu")
|
div(:uls, class: "uls-menu")
|
||||||
span(:uls_button_close, id: "uls-close")
|
span(:uls_button_close, id: "uls-close")
|
||||||
@@ -48,7 +47,7 @@ class PanelPage
|
|||||||
div(:interface, id: "footer")
|
div(:interface, id: "footer")
|
||||||
|
|
||||||
def uls_language_name_item(language)
|
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
|
end
|
||||||
|
|
||||||
def content_font
|
def content_font
|
||||||
@@ -60,7 +59,7 @@ class PanelPage
|
|||||||
end
|
end
|
||||||
|
|
||||||
def uls_onscreen?
|
def uls_onscreen?
|
||||||
@browser.execute_script( "
|
browser.execute_script( "
|
||||||
var $menu = $( '.uls-menu' ),
|
var $menu = $( '.uls-menu' ),
|
||||||
$window = $( window ),
|
$window = $( window ),
|
||||||
top = $menu.offset().top,
|
top = $menu.offset().top,
|
||||||
@@ -71,11 +70,11 @@ class PanelPage
|
|||||||
end
|
end
|
||||||
|
|
||||||
def webfonts_library_loaded
|
def webfonts_library_loaded
|
||||||
@browser.execute_script( "return ( $( 'body' ).data( 'webfonts' ) !== undefined )" )
|
browser.execute_script( "return ( $( 'body' ).data( 'webfonts' ) !== undefined )" )
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def font(selector)
|
def font(selector)
|
||||||
@browser.execute_script( "return $( '#{selector}' ).css( 'font-family' );" )
|
browser.execute_script( "return $( '#{selector}' ).css( 'font-family' );" )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
class PreferencesPage
|
class PreferencesPage
|
||||||
include PageObject
|
include PageObject
|
||||||
|
|
||||||
include URL
|
page_url "Special:Preferences"
|
||||||
page_url URL.url("Special:Preferences")
|
|
||||||
|
|
||||||
select(:set_interface_language, id: "mw-input-wplanguage")
|
select(:set_interface_language, id: "mw-input-wplanguage")
|
||||||
button(:save, id: "prefcontrol")
|
button(:save, id: "prefcontrol")
|
||||||
|
|||||||
Reference in New Issue
Block a user