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