Cmcmahon has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/162144

Change subject: QA: WIP: Refactoring and making the nojs test dtrt
......................................................................

QA: WIP: Refactoring and making the nojs test dtrt

Change-Id: I6cb20126a662bd2a20e2b4bbebe91e8f3b04c7df
---
M tests/browser/features/flyout_nojs.feature
M tests/browser/features/step_definitions/common_steps.rb
M tests/browser/features/step_definitions/flyout_steps.rb
M tests/browser/features/support/env.rb
4 files changed, 54 insertions(+), 44 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Echo 
refs/changes/44/162144/1

diff --git a/tests/browser/features/flyout_nojs.feature 
b/tests/browser/features/flyout_nojs.feature
index 5acd0fd..893b17e 100644
--- a/tests/browser/features/flyout_nojs.feature
+++ b/tests/browser/features/flyout_nojs.feature
@@ -2,7 +2,7 @@
 Feature: Flyout (nojs)
 
   Background:
-    Given I am viewing the basic non-JavaScript site
+    Given I am using user agent "Mozilla/4.0 (compatible; MSIE 5.00; Windows 
98)"
       And I am on the "Selenium Echo flyout test page" page
 
   Scenario: Flyout button present
diff --git a/tests/browser/features/step_definitions/common_steps.rb 
b/tests/browser/features/step_definitions/common_steps.rb
index 4a089c8..6bccd0c 100644
--- a/tests/browser/features/step_definitions/common_steps.rb
+++ b/tests/browser/features/step_definitions/common_steps.rb
@@ -1,43 +1,13 @@
+def get_new_username()
+  return "EchoUserNew" + @random_string
+end
+
 def get_session_username
   return "#{ENV["MEDIAWIKI_USER"]}_#{@browser.name}"
 end
 
 def get_session_username_b()
   return "EchoUser"
-end
-
-def get_new_username()
-  return "EchoUserNew" + @random_string
-end
-
-# For use in Firefox browser tests only
-Given /^I am using user agent "(.+)"$/ do |user_agent|
-  @user_agent = user_agent
-  @browser = browser(test_name(@scenario), {user_agent: user_agent})
-  $session_id = @browser.driver.instance_variable_get(:@bridge).session_id
-end
-
-Then(/^I find myself on the "(.*?)" page$/) do |title|
-  on(ArticlePage, :using_params => {:article_name => title})
-end
-
-Given(/^I am viewing the basic non-JavaScript site$/) do
-  step 'I am using user agent "Mozilla/4.0 (compatible; MSIE 5.00; Windows 
98)"'
-end
-
-Given(/^I am on the "(.+)" page$/) do |title|
-  on(APIPage).create title, "Test is used by Selenium web driver"
-  visit(ArticlePage, :using_params => {:article_name => title})
-end
-
-Given(/^the user "(.*?)" exists$/) do |username|
-  on(APIPage).client.log_in(ENV["MEDIAWIKI_USER"], ENV["MEDIAWIKI_PASSWORD"])
-  begin
-    on(APIPage).client.create_account(username, ENV["MEDIAWIKI_PASSWORD"])
-    puts "Successfully created user " + username
-  rescue MediawikiApi::ApiError
-    puts 'Assuming in step that user ' + username + ' already exists since was 
unable to create.'
-  end
 end
 
 Given(/^I am logged in as the user "(.*?)"$/) do |username|
@@ -51,6 +21,29 @@
   step 'I am logged in as the user "' + username + '"'
 end
 
+Given(/^I am on the "(.+)" page$/) do |title|
+  on(APIPage).create title, "Test is used by Selenium web driver"
+  visit(ArticlePage, :using_params => {:article_name => title})
+end
+
+# For use in Firefox browser tests only
+##Given /^I am using user agent "(.+)"$/ do |user_agent|
+#  @user_agent = user_agent
+#  @browser = browser(test_name(@scenario), {user_agent: user_agent})
+#  $session_id = @browser.driver.instance_variable_get(:@bridge).session_id
+#end
+
+Given(/^I am using user agent "(.+)"$/) do |user_agent|
+  @user_agent = user_agent
+  @browser = browser(test_name(@scenario), {user_agent: user_agent})
+  @browser.window.resize_to(480, 800)
+  $session_id = @browser.driver.instance_variable_get(:@bridge).session_id
+end
+
+Given(/^I am viewing the basic non-JavaScript site$/) do
+  step 'I am using user agent "Mozilla/4.0 (compatible; MSIE 5.00; Windows 
98)"'
+end
+
 Given(/^my user rights get changed$/) do
   @username = get_new_username()
   client = on(APIPage).client
@@ -60,3 +53,17 @@
   @token = data["users"][0]["userrightstoken"]
   client.action('userrights', token_type: false, token: @token, add: "bot", 
user: @username)
 end
+
+Given(/^the user "(.*?)" exists$/) do |username|
+  on(APIPage).client.log_in(ENV["MEDIAWIKI_USER"], ENV["MEDIAWIKI_PASSWORD"])
+  begin
+    on(APIPage).client.create_account(username, ENV["MEDIAWIKI_PASSWORD"])
+    puts "Successfully created user " + username
+  rescue MediawikiApi::ApiError
+    puts 'Assuming in step that user ' + username + ' already exists since was 
unable to create.'
+  end
+end
+
+Then(/^I find myself on the "(.*?)" page$/) do |title|
+  on(ArticlePage, :using_params => {:article_name => title})
+end
diff --git a/tests/browser/features/step_definitions/flyout_steps.rb 
b/tests/browser/features/step_definitions/flyout_steps.rb
index 2627d59..351f6c6 100644
--- a/tests/browser/features/step_definitions/flyout_steps.rb
+++ b/tests/browser/features/step_definitions/flyout_steps.rb
@@ -1,15 +1,15 @@
-Then(/^I do not see the notification flyout button$/) do
-  on(ArticlePage).flyout_link_container_element.when_not_present
-end
-
-Then(/^I see the notification flyout button$/) do
-  on(ArticlePage).flyout_link_container_element.when_present
-end
-
 When(/^I click the notification flyout button$/) do
   on(ArticlePage).flyout_link_element.when_present.click
+end
+
+Then(/^I do not see the notification flyout button$/) do
+  on(ArticlePage).flyout_link_container_element.when_not_present
 end
 
 Then(/^I see the notification flyout$/) do
   on(ArticlePage).flyout_element.when_present
 end
+
+Then(/^I see the notification flyout button$/) do
+  on(ArticlePage).flyout_link_container_element.when_present
+end
\ No newline at end of file
diff --git a/tests/browser/features/support/env.rb 
b/tests/browser/features/support/env.rb
index 9458220..b0ff585 100644
--- a/tests/browser/features/support/env.rb
+++ b/tests/browser/features/support/env.rb
@@ -1,4 +1,7 @@
-require 'mediawiki_selenium'
+require "rubygems"
+require "bundler/setup"
+
+Bundler.require
 
 if ( ENV['PAGE_WAIT_TIMEOUT'] ) then
        PageObject.default_page_wait = ENV['PAGE_WAIT_TIMEOUT'].to_i

-- 
To view, visit https://gerrit.wikimedia.org/r/162144
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6cb20126a662bd2a20e2b4bbebe91e8f3b04c7df
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Echo
Gerrit-Branch: master
Gerrit-Owner: Cmcmahon <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to