Cmcmahon has submitted this change and it was merged.

Change subject: Environment variabled determine where the test run
......................................................................


Environment variabled determine where the test run

The tests could run at a local or remote browser. Environment variables
that have to be set are BROWSER_LABEL, SAUCE_ONDEMAND_USERNAME and
SAUCE_ONDEMAND_ACCESS_KEY

Bug: 49158
Change-Id: I94d93858bcafe11764fc50adbbddfe3a9ab880a6
---
M features/support/env.rb
1 file changed, 10 insertions(+), 17 deletions(-)

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



diff --git a/features/support/env.rb b/features/support/env.rb
index d829c71..2db1ef8 100644
--- a/features/support/env.rb
+++ b/features/support/env.rb
@@ -7,15 +7,15 @@
 
 World(PageObject::PageFactory)
 
-def browser(environment, test_name, saucelabs_username, saucelabs_key, 
language)
+def browser(environment, test_name, language)
   if environment == :cloudbees
-    sauce_browser(test_name, saucelabs_username, saucelabs_key, language)
+    sauce_browser(test_name, language)
   else
     local_browser(language)
   end
 end
 def environment
-  if ENV['ENVIRONMENT'] == 'cloudbees'
+  if ENV['BROWSER_LABEL'] and ENV['SAUCE_ONDEMAND_USERNAME'] and 
ENV['SAUCE_ONDEMAND_ACCESS_KEY']
     :cloudbees
   else
     :local
@@ -42,10 +42,10 @@
     Watir::Browser.new browser_label, :profile => profile
   end
 end
-def sauce_api(json, saucelabs_username, saucelabs_key)
-  %x{curl -H 'Content-Type:text/json' -s -X PUT -d '#{json}' 
http://#{saucelabs_username}:#{saucelabs_key}@saucelabs.com/rest/v1/#{saucelabs_username}/jobs/#{$session_id}}
+def sauce_api(json)
+  %x{curl -H 'Content-Type:text/json' -s -X PUT -d '#{json}' 
http://#{ENV['SAUCE_ONDEMAND_USERNAME']}:#{ENV['SAUCE_ONDEMAND_ACCESS_KEY']}@saucelabs.com/rest/v1/#{ENV['SAUCE_ONDEMAND_USERNAME']}/jobs/#{$session_id}}
 end
-def sauce_browser(test_name, saucelabs_username, saucelabs_key, language)
+def sauce_browser(test_name, language)
   config = YAML.load_file('config/config.yml')
   browser_label = config[ENV['BROWSER_LABEL']]
 
@@ -69,7 +69,7 @@
   browser = Watir::Browser.new(
     :remote,
     http_client: Selenium::WebDriver::Remote::Http::Persistent.new,
-    url: 
"http://#{saucelabs_username}:#{saucelabs_key}@ondemand.saucelabs.com:80/wd/hub";,
+    url: 
"http://#{ENV['SAUCE_ONDEMAND_USERNAME']}:#{ENV['SAUCE_ONDEMAND_ACCESS_KEY']}@ondemand.saucelabs.com:80/wd/hub",
     desired_capabilities: caps)
 
   browser.wd.file_detector = lambda do |args|
@@ -103,15 +103,8 @@
   mediawiki_password = secret['mediawiki_password']
 end
 
-if ENV['ENVIRONMENT'] == 'cloudbees'
-  saucelabs_username = secret['saucelabs_username']
-  saucelabs_key = secret['saucelabs_key']
-end
-
 Before('@language') do |scenario|
   @language = true
-  @saucelabs_username = saucelabs_username
-  @saucelabs_key = saucelabs_key
   @scenario = scenario
 end
 Before('@login') do
@@ -123,14 +116,14 @@
   @does_not_exist_page_name = Random.new.rand.to_s
   @mediawiki_username = mediawiki_username
   @mediawiki_password = mediawiki_password
-  @browser = browser(environment, test_name(scenario), saucelabs_username, 
saucelabs_key, 'default') unless @language
+  @browser = browser(environment, test_name(scenario), 'default') unless 
@language
   $session_id = @browser.driver.instance_variable_get(:@bridge).session_id
 end
 
 After do |scenario|
   if environment == :cloudbees
-    sauce_api(%Q{{"passed": #{scenario.passed?}}}, saucelabs_username, 
saucelabs_key)
-    sauce_api(%Q{{"public": true}}, saucelabs_username, saucelabs_key)
+    sauce_api(%Q{{"passed": #{scenario.passed?}}})
+    sauce_api(%Q{{"public": true}})
   end
   @browser.close unless ENV['KEEP_BROWSER_OPEN'] == 'true'
 end

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I94d93858bcafe11764fc50adbbddfe3a9ab880a6
Gerrit-PatchSet: 4
Gerrit-Project: qa/browsertests
Gerrit-Branch: master
Gerrit-Owner: Zfilipin <[email protected]>
Gerrit-Reviewer: Cmcmahon <[email protected]>
Gerrit-Reviewer: Rachel99 <[email protected]>
Gerrit-Reviewer: jenkins-bot

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

Reply via email to