Module: CapybaraSettings
- Extended by:
- CapybaraSettings
- Included in:
- CapybaraSettings
- Defined in:
- lib/howitzer/utils/capybara_settings.rb
Class Method Summary collapse
- .base_ff_profile_settings ⇒ Object
-
.define_driver ⇒ Object
Defines driver based on specified test environment settings.
Instance Method Summary collapse
-
#sauce_resource_path(name) ⇒ Object
Returns url of current Sauce Labs job.
-
#session_id ⇒ Object
Returns current session id.
-
#suite_name ⇒ Object
Returns custom name for Sauce Labs job.
- #update_sauce_job_status(json_data = {}) ⇒ Object
Class Method Details
.base_ff_profile_settings ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/howitzer/utils/capybara_settings.rb', line 19 def self.base_ff_profile_settings profile = Selenium::WebDriver::Firefox::Profile.new profile["network.http.phishy-userpass-length"] = 255 profile["browser.safebrowsing.malware.enabled"] = false profile["network.automatic-ntlm-auth.allow-non-fqdn"] = true profile["network.ntlm.send-lm-response"] = true profile["network.automatic-ntlm-auth.trusted-uris"] = settings.app_host profile end |
.define_driver ⇒ Object
Defines driver based on specified test environment settings
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/howitzer/utils/capybara_settings.rb', line 36 def define_driver case settings.driver.to_sym when :selenium define_selenium_driver when :selenium_dev define_selenium_dev_driver when :webkit define_webkit_driver when :poltergeist define_poltergeist_driver when :sauce define_sauce_driver when :testingbot define_testingbot_driver else log.error "Unknown '#{settings.driver}' driver. Check your settings, it should be one of [selenium, selenium_dev, webkit, sauce, testingbot]" end end |
Instance Method Details
#sauce_resource_path(name) ⇒ Object
Returns url of current Sauce Labs job
Parameters:
-
name- Your account name
Returns:
-
string- URL address of last running Sauce Labs job
185 186 187 188 189 |
# File 'lib/howitzer/utils/capybara_settings.rb', line 185 def sauce_resource_path(name) host = "https://#{settings.sl_user}:#{settings.sl_api_key}@saucelabs.com" path = "/rest/#{settings.sl_user}/jobs/#{session_id}/results/#{name}" "#{host}#{path}" end |
#session_id ⇒ Object
Returns current session id
230 231 232 |
# File 'lib/howitzer/utils/capybara_settings.rb', line 230 def session_id Capybara.current_session.driver.browser.instance_variable_get(:@bridge).session_id end |
#suite_name ⇒ Object
Returns custom name for Sauce Labs job
Returns:
-
string- Return name of current Sauce Labs job
215 216 217 218 219 220 221 222 223 |
# File 'lib/howitzer/utils/capybara_settings.rb', line 215 def suite_name res = if ENV['RAKE_TASK'] res = ENV['RAKE_TASK'].sub(/(?:r?spec|cucumber):?(.*)/, '\1').upcase res.empty? ? 'ALL' : res else 'CUSTOM' end "#{res} #{settings.sl_browser_name.upcase}" end |
#update_sauce_job_status(json_data = {}) ⇒ Object
200 201 202 203 204 205 |
# File 'lib/howitzer/utils/capybara_settings.rb', line 200 def update_sauce_job_status(json_data = {}) host = "http://#{settings.sl_user}:#{settings.sl_api_key}@saucelabs.com" path = "/rest/v1/#{settings.sl_user}/jobs/#{session_id}" url = "#{host}#{path}" RestClient.put url, json_data.to_json, content_type: :json, accept: :json end |