From f85439cce93ac9b2deb7c46318efdfe83ca2a19a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=BDeljko=20Filipin?= Date: Wed, 2 Sep 2015 15:57:39 +0200 Subject: [PATCH] Upgrade browser tests to use mediawiki_selenium 1.x Bug: T99656 Change-Id: Ie170d38082d7441df8014ae97f1be820e21871fd --- Gemfile | 5 +- Gemfile.lock | 65 ++++++++++--------- tests/browser/README.md | 1 + tests/browser/environments.yml | 39 +++++++++++ .../features/step_definitions/math_steps.rb | 4 +- tests/browser/features/support/env.rb | 14 +--- .../support/pages/does_not_exist_page.rb | 5 +- 7 files changed, 82 insertions(+), 51 deletions(-) create mode 100644 tests/browser/README.md create mode 100644 tests/browser/environments.yml diff --git a/Gemfile b/Gemfile index d6fba3b..6209ad7 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,4 @@ -#ruby=ruby-2.1.1 -#ruby-gemset=browsertests - source "https://rubygems.org" -gem "mediawiki_selenium" +gem "mediawiki_selenium", "~> 1.5.0" gem "rubocop", require: false diff --git a/Gemfile.lock b/Gemfile.lock index fbddb2d..4c1a5f0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,56 +5,57 @@ GEM astrolabe (1.3.0) parser (>= 2.2.0.pre.3, < 3.0) builder (3.2.2) - childprocess (0.5.5) + childprocess (0.5.6) ffi (~> 1.0, >= 1.0.11) - cucumber (1.3.17) + cucumber (1.3.20) builder (>= 2.1.2) diff-lcs (>= 1.1.3) gherkin (~> 2.12) multi_json (>= 1.7.5, < 2.0) - multi_test (>= 0.1.1) - data_magic (0.20) + multi_test (>= 0.1.2) + data_magic (0.21) faker (>= 1.1.2) yml_reader (>= 0.4) diff-lcs (1.2.5) - domain_name (0.5.22) + domain_name (0.5.24) unf (>= 0.0.5, < 1.0.0) faker (1.4.3) i18n (~> 0.5) - faraday (0.9.0) + faraday (0.9.1) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) faraday (>= 0.7.4) http-cookie (~> 1.0.0) - ffi (1.9.6) + 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.6.11) - json (1.8.1) - mediawiki_api (0.3.0) + i18n (0.7.0) + json (1.8.3) + mediawiki_api (0.4.1) faraday (~> 0.9, >= 0.9.0) faraday-cookie_jar (~> 0.0, >= 0.0.6) - mediawiki_selenium (0.4.0) - cucumber (~> 1.3, >= 1.3.10) - headless (~> 1.0, >= 1.0.1) + mediawiki_selenium (1.5.0) + 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.4, >= 0.4.1) page-object (~> 1.0) rest-client (~> 1.6, >= 1.6.7) rspec-expectations (~> 2.14, >= 2.14.4) syntax (~> 1.2, >= 1.2.0) - mime-types (2.4.3) - multi_json (1.10.1) - multi_test (0.1.1) + thor (~> 0.19, >= 0.19.1) + mime-types (2.6.1) + multi_json (1.11.2) + multi_test (0.1.2) multipart-post (2.0.0) - netrc (0.8.0) - page-object (1.0.2) + netrc (0.10.3) + page-object (1.1.0) page_navigation (>= 0.9) - selenium-webdriver (>= 2.42.0) - watir-webdriver (>= 0.6.9) + selenium-webdriver (>= 2.44.0) + watir-webdriver (>= 0.6.11) page_navigation (0.9) data_magic (>= 0.14) parser (2.2.0.pre.7) @@ -62,7 +63,8 @@ GEM slop (~> 3.4, >= 3.4.5) powerpack (0.0.9) rainbow (2.0.0) - rest-client (1.7.2) + rest-client (1.8.0) + http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 3.0) netrc (~> 0.7) rspec-expectations (2.99.2) @@ -74,25 +76,26 @@ GEM rainbow (>= 1.99.1, < 3.0) ruby-progressbar (~> 1.4) ruby-progressbar (1.7.0) - rubyzip (1.1.6) - selenium-webdriver (2.44.0) + rubyzip (1.1.7) + selenium-webdriver (2.47.1) childprocess (~> 0.5) multi_json (~> 1.0) rubyzip (~> 1.0) websocket (~> 1.0) slop (3.6.0) syntax (1.2.0) + thor (0.19.1) unf (0.1.4) unf_ext - unf_ext (0.0.6) - watir-webdriver (0.6.11) - selenium-webdriver (>= 2.18.0) - websocket (1.2.1) - yml_reader (0.4) + unf_ext (0.0.7.1) + watir-webdriver (0.8.0) + selenium-webdriver (>= 2.46.2) + websocket (1.2.2) + yml_reader (0.5) PLATFORMS ruby DEPENDENCIES - mediawiki_selenium + mediawiki_selenium (~> 1.5.0) rubocop diff --git a/tests/browser/README.md b/tests/browser/README.md new file mode 100644 index 0000000..3631949 --- /dev/null +++ b/tests/browser/README.md @@ -0,0 +1 @@ +Please see https://github.com/wikimedia/mediawiki-selenium for instructions on how to run tests. 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/math_steps.rb b/tests/browser/features/step_definitions/math_steps.rb index 98843e8..b756212 100644 --- a/tests/browser/features/step_definitions/math_steps.rb +++ b/tests/browser/features/step_definitions/math_steps.rb @@ -31,10 +31,10 @@ Then(/^alt for that img should be (.+)$/) do |alt| end Then(/^src for that img should come from (.+)$/) do |src| - expect(on(EditPage).math_image_element.element.src).to match Regexp.escape(src) + expect(on(EditPage).math_image_element.element.src).to match Regexp.escape src end Then(/^the page should contain an img tag$/) do expect(on(EditPage).math_image_element.when_present).to be_visible -end \ No newline at end of file +end diff --git a/tests/browser/features/support/env.rb b/tests/browser/features/support/env.rb index 515ff78..57f3e6b 100644 --- a/tests/browser/features/support/env.rb +++ b/tests/browser/features/support/env.rb @@ -1,12 +1,4 @@ -# -# This file is subject to the license terms in the LICENSE file found in the -# qa-browsertests top-level directory and at -# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/LICENSE. No part of -# qa-browsertests, including this file, may be copied, modified, propagated, or -# distributed except according to the terms contained in the LICENSE file. -# -# Copyright 2012-2014 by the Mediawiki developers. See the CREDITS file in the -# qa-browsertests top-level directory and at -# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/CREDITS -# require "mediawiki_selenium" + +require "mediawiki_selenium/support" +require "mediawiki_selenium/step_definitions" diff --git a/tests/browser/features/support/pages/does_not_exist_page.rb b/tests/browser/features/support/pages/does_not_exist_page.rb index 168573f..e24b398 100644 --- a/tests/browser/features/support/pages/does_not_exist_page.rb +++ b/tests/browser/features/support/pages/does_not_exist_page.rb @@ -12,8 +12,7 @@ class DoesNotExistPage include PageObject - include URL - page_url URL.url("<%=params[:page_name]%>") + page_url "<%=params[:page_name]%>" a(:create_source, text: "Create source") -end \ No newline at end of file +end