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

Change subject: Run selenium tests on saucelabs if correct environment vars are 
set
......................................................................


Run selenium tests on saucelabs if correct environment vars are set

Change-Id: Ie96697452db89f3e70ec984ada75bb4d75b7d83b
---
M selenium_cuc/Gemfile
M selenium_cuc/Gemfile.lock
M selenium_cuc/features/support/env.rb
3 files changed, 57 insertions(+), 27 deletions(-)

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



diff --git a/selenium_cuc/Gemfile b/selenium_cuc/Gemfile
index 6bb1726..70f2967 100644
--- a/selenium_cuc/Gemfile
+++ b/selenium_cuc/Gemfile
@@ -11,3 +11,4 @@
 gem 'cucumber'
 gem 'json'
 gem 'activesupport'
+gem 'net-http-persistent'
diff --git a/selenium_cuc/Gemfile.lock b/selenium_cuc/Gemfile.lock
index 52d094c..ecd7b56 100644
--- a/selenium_cuc/Gemfile.lock
+++ b/selenium_cuc/Gemfile.lock
@@ -8,49 +8,52 @@
       thread_safe (~> 0.1)
       tzinfo (~> 0.3.37)
     atomic (1.1.13)
-    builder (3.2.0)
+    builder (3.2.2)
     childprocess (0.3.9)
       ffi (~> 1.0, >= 1.0.11)
-    cucumber (1.3.1)
+    cucumber (1.3.6)
       builder (>= 2.1.2)
       diff-lcs (>= 1.1.3)
       gherkin (~> 2.12.0)
-      multi_json (~> 1.3)
-    data_magic (0.14)
+      multi_json (~> 1.7.5)
+      multi_test (>= 0.0.2)
+    data_magic (0.15.2)
       faker (>= 1.1.2)
       yml_reader (>= 0.2)
     diff-lcs (1.2.4)
-    faker (1.1.2)
+    faker (1.2.0)
       i18n (~> 0.5)
-    ffi (1.8.1-x86-mingw32)
-    gherkin (2.12.0-x86-mingw32)
+    ffi (1.9.0-x86-mingw32)
+    gherkin (2.12.1-x86-mingw32)
       multi_json (~> 1.3)
-    i18n (0.6.4)
-    json (1.7.7)
-    minitest (4.3.2)
-    multi_json (1.7.3)
-    page-object (0.8.10)
+    i18n (0.6.5)
+    json (1.8.0)
+    minitest (4.7.5)
+    multi_json (1.7.9)
+    multi_test (0.0.2)
+    net-http-persistent (2.9)
+    page-object (0.9.1)
       page_navigation (>= 0.8)
-      selenium-webdriver (>= 2.32.1)
+      selenium-webdriver (>= 2.33.0)
       watir-webdriver (>= 0.6.4)
     page_navigation (0.9)
       data_magic (>= 0.14)
-    parallel (0.6.4)
-    parallel_tests (0.12.1)
+    parallel (0.7.1)
+    parallel_tests (0.15.1)
       parallel
-    rake (10.0.4)
+    rake (10.1.0)
     require_all (1.2.1)
-    rspec (2.13.0)
-      rspec-core (~> 2.13.0)
-      rspec-expectations (~> 2.13.0)
-      rspec-mocks (~> 2.13.0)
-    rspec-core (2.13.1)
-    rspec-expectations (2.13.0)
+    rspec (2.14.1)
+      rspec-core (~> 2.14.0)
+      rspec-expectations (~> 2.14.0)
+      rspec-mocks (~> 2.14.0)
+    rspec-core (2.14.5)
+    rspec-expectations (2.14.2)
       diff-lcs (>= 1.1.3, < 2.0)
     rspec-extra-formatters (1.0.0)
-    rspec-mocks (2.13.1)
+    rspec-mocks (2.14.3)
     rubyzip (0.9.9)
-    selenium-webdriver (2.32.1)
+    selenium-webdriver (2.35.0)
       childprocess (>= 0.2.5)
       multi_json (~> 1.0)
       rubyzip
@@ -71,6 +74,7 @@
   activesupport
   cucumber
   json
+  net-http-persistent
   page-object
   parallel_tests
   rake
diff --git a/selenium_cuc/features/support/env.rb 
b/selenium_cuc/features/support/env.rb
index 1b11a33..b55e9c7 100644
--- a/selenium_cuc/features/support/env.rb
+++ b/selenium_cuc/features/support/env.rb
@@ -19,7 +19,7 @@
 require 'require_all'
 
 config = YAML.load_file('config/config.yml')
-config.each do |k,v|
+config.each do |k, v|
   eval("#{k} = '#{v}'")
 end
 
@@ -30,13 +30,38 @@
 World(PageObject::PageFactory)
 
 def browser(environment, test_name, language)
-  local_browser(language)
+  if environment == :cloudbees
+    sauce_browser(test_name)
+  else
+    local_browser(language)
+  end
 end
 
 def environment
-  :local
+  if ENV['SAUCE_ONDEMAND_ACCESS_KEY'] && ENV['SAUCE_ONDEMAND_USERNAME']
+    :cloudbees
+  else
+    :local
+  end
 end
 
+def sauce_browser(test_name)
+  caps = Selenium::WebDriver::Remote::Capabilities.firefox
+  caps.version = "23"
+  caps.platform = "Windows 7"
+  caps[:name] = "#{test_name} #{ENV['JOB_NAME']}##{ENV['BUILD_NUMBER']}"
+
+  require 'selenium/webdriver/remote/http/persistent' # http_client
+  browser = Watir::Browser.new(
+      :remote,
+      :http_client => Selenium::WebDriver::Remote::Http::Persistent.new,
+      :url => 
"http://#{ENV['SAUCE_ONDEMAND_USERNAME']}:#{ENV['SAUCE_ONDEMAND_ACCESS_KEY']}@ondemand.saucelabs.com:80/wd/hub",
+      :desired_capabilities => caps)
+
+  browser
+end
+
+
 def local_browser(language)
   if ENV['BROWSER_LABEL']
     browser_label = ENV['BROWSER_LABEL'].to_sym

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie96697452db89f3e70ec984ada75bb4d75b7d83b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Tobias Gritschacher <tobias.gritschac...@wikimedia.de>
Gerrit-Reviewer: Zfilipin <zfili...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to