Update mediawiki_selenium Ruby gem to the latest version

Bug: 117976
Change-Id: I567880afcf7dc5d70e6d4edef1db16d7923ae31c
This commit is contained in:
Željko Filipin
2015-11-18 11:50:39 +01:00
parent 6fb3cff6d2
commit 0aa649e084
13 changed files with 76 additions and 43 deletions

View File

@@ -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

View File

@@ -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)

View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1 +1,3 @@
require "mediawiki_selenium"
require 'mediawiki_selenium/cucumber'
require 'mediawiki_selenium/pages'
require 'mediawiki_selenium/step_definitions'

View File

@@ -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();

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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")