Tobias Gritschacher has uploaded a new change for review. https://gerrit.wikimedia.org/r/79792
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(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/92/79792/1 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: newchange Gerrit-Change-Id: Ie96697452db89f3e70ec984ada75bb4d75b7d83b Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits