Updated ULS repository to the latest version of shared test files

Bug: 53579
Change-Id: I9828866f3a3db24a95324bb82942f2c59382f2c9
This commit is contained in:
Zeljko Filipin
2013-10-01 13:46:37 +02:00
committed by Cmcmahon
parent f74f7c6c4e
commit 2c4a906889
4 changed files with 19 additions and 38 deletions

View File

@@ -1 +0,0 @@
config/secret.yml

View File

@@ -1,5 +1,5 @@
Given(/^that my browser's accept language is (.+)$/) do |language|
@browser = browser(environment, test_name(@scenario), @saucelabs_username, @saucelabs_key, language)
@browser = browser(environment, test_name(@scenario), ENV['SAUCE_ONDEMAND_USERNAME'], ENV['SAUCE_ONDEMAND_ACCESS_KEY'], language)
$session_id = @browser.driver.instance_variable_get(:@bridge).session_id
end

View File

@@ -6,7 +6,7 @@ Given(/^I am logged out$/) do
end
Given(/^I am logged in$/) do
visit(LoginPage).login_with(@mediawiki_username, @mediawiki_password)
visit(LoginPage).login_with(@mediawiki_username, ENV['MEDIAWIKI_PASSWORD'])
# Assert that login worked
loggedin = !@browser.execute_script( "return mw.user.isAnon();" )
loggedin.should be_true

View File

@@ -7,16 +7,16 @@ require 'yaml'
World(PageObject::PageFactory)
def browser(environment, test_name, saucelabs_username, saucelabs_key, language)
if environment == :cloudbees
sauce_browser(test_name, saucelabs_username, saucelabs_key, language)
def browser(environment, test_name, language)
if environment == :saucelabs
sauce_browser(test_name, language)
else
local_browser(language)
end
end
def environment
if ENV['ENVIRONMENT'] == 'cloudbees'
:cloudbees
if ENV['BROWSER_LABEL'] and ENV['SAUCE_ONDEMAND_USERNAME'] and ENV['SAUCE_ONDEMAND_ACCESS_KEY']
:saucelabs
else
:local
end
@@ -42,10 +42,10 @@ def local_browser(language)
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 @@ def sauce_browser(test_name, saucelabs_username, saucelabs_key, language)
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|
@@ -80,13 +80,7 @@ def sauce_browser(test_name, saucelabs_username, saucelabs_key, language)
browser
end
def secret_yml_location
secret_yml_locations = ['/private/wmf/', 'config/']
secret_yml_locations.each do |secret_yml_location|
return secret_yml_location if File.exists?("#{secret_yml_location}secret.yml")
end
nil
end
def test_name(scenario)
if scenario.respond_to? :feature
"#{scenario.feature.name}: #{scenario.name}"
@@ -98,41 +92,29 @@ end
config = YAML.load_file('config/config.yml')
mediawiki_username = config['mediawiki_username']
unless secret_yml_location == nil
secret = YAML.load_file("#{secret_yml_location}secret.yml")
mediawiki_password = secret['mediawiki_password']
end
if ENV['ENVIRONMENT'] == 'cloudbees'
saucelabs_username = secret['saucelabs_username']
saucelabs_key = secret['saucelabs_key']
Before('@login') do
puts "MEDIAWIKI_PASSWORD environment variable is not defined! Please export a value for that variable before proceeding." unless ENV['MEDIAWIKI_PASSWORD']
end
Before('@language') do |scenario|
@language = true
@saucelabs_username = saucelabs_username
@saucelabs_key = saucelabs_key
@scenario = scenario
end
Before('@login') do
puts "secret.yml file at /private/wmf/ or config/ is required for tests tagged @login" if secret_yml_location == nil
end
Before do |scenario|
@config = config
@does_not_exist_page_name = Random.new.rand.to_s
@random_string = Random.new.rand.to_s
@mediawiki_username = mediawiki_username
@mediawiki_password = mediawiki_password
unless @language
@browser = browser(environment, test_name(scenario), saucelabs_username, saucelabs_key, 'default')
@browser = browser(environment, test_name(scenario), 'default')
$session_id = @browser.driver.instance_variable_get(:@bridge).session_id
end
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)
if environment == :saucelabs
sauce_api(%Q{{"passed": #{scenario.passed?}}})
sauce_api(%Q{{"public": true}})
end
@browser.close unless ENV['KEEP_BROWSER_OPEN'] == 'true'
end