jenkins-bot has submitted this change and it was merged.

Change subject: QA: Using the new way of starting a custom browser
......................................................................


QA: Using the new way of starting a custom browser

mediawiki_selenium Ruby gem is now able to start local and remote
browsers with optional browser setup. Removed NEARBY_FIREFOX support.

Paired with Kartik Mistry, Chris McMahon.

Bug: 62512
Change-Id: Idb2cd0277278f85506273f80c3c975bc7db9f010
---
M tests/browser/Gemfile.lock
M tests/browser/features/step_definitions/common_steps.rb
M tests/browser/features/support/env.rb
3 files changed, 16 insertions(+), 52 deletions(-)

Approvals:
  Cmcmahon: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/tests/browser/Gemfile.lock b/tests/browser/Gemfile.lock
index 5f91754..83e4be0 100644
--- a/tests/browser/Gemfile.lock
+++ b/tests/browser/Gemfile.lock
@@ -5,17 +5,17 @@
     childprocess (0.5.1)
       ffi (~> 1.0, >= 1.0.11)
     chunky_png (1.3.0)
-    cucumber (1.3.11)
+    cucumber (1.3.12)
       builder (>= 2.1.2)
       diff-lcs (>= 1.1.3)
       gherkin (~> 2.12)
       multi_json (>= 1.7.5, < 2.0)
-      multi_test (>= 0.0.2)
+      multi_test (>= 0.1.1)
     data_magic (0.18)
       faker (>= 1.1.2)
       yml_reader (>= 0.2)
     diff-lcs (1.2.5)
-    faker (1.2.0)
+    faker (1.3.0)
       i18n (~> 0.5)
     ffi (1.9.3)
     gherkin (2.12.2)
@@ -23,7 +23,7 @@
     headless (1.0.1)
     i18n (0.6.9)
     json (1.8.1)
-    mediawiki_selenium (0.2.9)
+    mediawiki_selenium (0.2.15)
       cucumber (~> 1.3, >= 1.3.10)
       headless (~> 1.0, >= 1.0.1)
       json (~> 1.8, >= 1.8.1)
@@ -32,11 +32,11 @@
       rest-client (~> 1.6, >= 1.6.7)
       rspec-expectations (~> 2.14, >= 2.14.4)
       syntax (~> 1.2, >= 1.2.0)
-    mime-types (2.1)
+    mime-types (2.2)
     multi_json (1.9.0)
-    multi_test (0.0.3)
+    multi_test (0.1.1)
     net-http-persistent (2.9.4)
-    page-object (0.9.7)
+    page-object (0.9.8)
       page_navigation (>= 0.9)
       selenium-webdriver (>= 2.40.0)
       watir-webdriver (>= 0.6.8)
@@ -46,7 +46,7 @@
       mime-types (>= 1.16)
     rspec-expectations (2.14.5)
       diff-lcs (>= 1.1.3, < 2.0)
-    rubyzip (1.1.0)
+    rubyzip (1.1.2)
     selenium-webdriver (2.40.0)
       childprocess (>= 0.5.0)
       multi_json (~> 1.0)
diff --git a/tests/browser/features/step_definitions/common_steps.rb 
b/tests/browser/features/step_definitions/common_steps.rb
index 4818e7e..5b02a3a 100644
--- a/tests/browser/features/step_definitions/common_steps.rb
+++ b/tests/browser/features/step_definitions/common_steps.rb
@@ -2,7 +2,7 @@
 # Add tags to no_javascript_site.feature when resolved
 Given /^I am using user agent "(.+)"$/ do |user_agent|
   @user_agent = user_agent
-  @browser = browser(environment, test_name(@scenario), 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
diff --git a/tests/browser/features/support/env.rb 
b/tests/browser/features/support/env.rb
index 80a0f8e..fe20d95 100644
--- a/tests/browser/features/support/env.rb
+++ b/tests/browser/features/support/env.rb
@@ -1,45 +1,9 @@
 require "mediawiki_selenium"
 
-def local_browser(user_agent)
-  if ENV["BROWSER"]
-    browser_label = ENV["BROWSER"].to_sym
-  else
-    browser_label = :firefox
-  end
-
-  if user_agent =="default" && !ENV["NEARBY_FIREFOX"]
-    browser = Watir::Browser.new browser_label
-  else
-    if browser_label == :firefox && !ENV["NEARBY_FIREFOX"]
-      profile = Selenium::WebDriver::Firefox::Profile.new
-      profile["general.useragent.override"] = user_agent
-      browser = Watir::Browser.new browser_label, :profile => profile
-    else
-      if ENV["NEARBY_FIREFOX"]
-        permissions_file = "./features/support/permissions.sqlite"
-        if RUBY_PLATFORM =~ /darwin/
-          firefox_executable = 
"/Applications/Firefox.app/Contents/MacOS/firefox"
-        elsif RUBY_PLATFORM =~ /linux/
-          firefox_executable = '/usr/bin/firefox'
-        else
-          puts 'Cannot identify local OS, so cannot locate Firefox executable!'
-        end
-        profile_path = ("/tmp/NearbyProfile/")
-        Dir.mkdir(profile_path) unless File.exists?(profile_path)
-        system(firefox_executable + " -CreateProfile 'NearbyProfile " + 
profile_path + "'")
-        system("cp " + permissions_file + " " + profile_path)
-        browser = Watir::Browser.new :firefox, :profile => 'NearbyProfile'
-      else
-        raise "Changing user agent is currently supported only for Firefox!"
-      end
-    end
-  end
-
-
-    # we can set cookies only for current domain
-    # see http://code.google.com/p/selenium/issues/detail?id=1953
-    browser.goto URL.url("Main_Page")
-    # set a cookie forcing mobile mode
-    browser.cookies.add "mf_useformat", "true"
-    browser
-  end
+def set_cookie(browser)
+  # we can set cookies only for current domain
+  # see http://code.google.com/p/selenium/issues/detail?id=1953
+  browser.goto URL.url("Main_Page")
+  # set a cookie forcing mobile mode
+  browser.cookies.add "mf_useformat", "true"
+end

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Idb2cd0277278f85506273f80c3c975bc7db9f010
Gerrit-PatchSet: 11
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Zfilipin <[email protected]>
Gerrit-Reviewer: Awjrichards <[email protected]>
Gerrit-Reviewer: Cmcmahon <[email protected]>
Gerrit-Reviewer: JGonera <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: Kaldari <[email protected]>
Gerrit-Reviewer: MaxSem <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to