Module: TestCentricity::WebDriverConnect
- Includes:
- Capybara::DSL
- Defined in:
- lib/testcentricity_web/webdriver_helper.rb
Class Method Summary collapse
- .initialize_web_driver(app_host = nil) ⇒ Object
- .set_domain(url) ⇒ Object
-
.set_webdriver_path(project_path) ⇒ Object
Set the WebDriver path for Chrome, IE, or Edge browsers.
Class Method Details
.initialize_web_driver(app_host = nil) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/testcentricity_web/webdriver_helper.rb', line 9 def self.initialize_web_driver(app_host = nil) Capybara.app_host = app_host unless app_host.nil? browser = ENV['WEB_BROWSER'] # assume that we're testing within a local desktop web browser Environ.platform = :desktop Environ.browser = browser Environ.device = false Environ.device_type = 'browser' case browser.downcase.to_sym when :appium initialize_appium context = 'mobile device emulator' when :browserstack initialize_browserstack context = 'Browserstack cloud service' when :crossbrowser initialize_crossbrowser context = 'CrossBrowserTesting cloud service' when :poltergeist initialize_poltergeist context = 'PhantomJS' when :saucelabs initialize_saucelabs context = 'Sauce Labs cloud service' when :testingbot initialize_testingbot context = 'TestingBot cloud service' else if ENV['SELENIUM'] == 'remote' initialize_remote context = 'Selenium Grid2' else initialize_local_browser context = 'local instance' end end # set browser window size only if testing with a desktop web browser unless Environ.is_device? || Capybara.current_driver == :poltergeist initialize_browser_size end puts "Using #{Environ.browser} browser via #{context}" end |
.set_domain(url) ⇒ Object
56 57 58 |
# File 'lib/testcentricity_web/webdriver_helper.rb', line 56 def self.set_domain(url) Capybara.app_host = url end |
.set_webdriver_path(project_path) ⇒ Object
Set the WebDriver path for Chrome, IE, or Edge browsers
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/testcentricity_web/webdriver_helper.rb', line 61 def self.set_webdriver_path(project_path) path_to_driver = nil # check for existence of /webdrivers or /features/support/drivers folders base_path = 'features/support/drivers' unless File.directory?(File.join(project_path, base_path)) base_path = 'webdrivers' unless File.directory?(File.join(project_path, base_path)) raise 'Could not find WebDriver files in /webdrivers or /features/support/drivers folders' end end # set WebDriver path based on browser and operating system case ENV['WEB_BROWSER'].downcase.to_sym when :chrome if OS.osx? path_to_driver = 'mac/chromedriver' elsif OS.windows? path_to_driver = 'windows/chromedriver.exe' end Selenium::WebDriver::Chrome.driver_path = File.join(project_path, base_path, path_to_driver) when :ie path_to_driver = 'windows/IEDriverServer.exe' Selenium::WebDriver::IE.driver_path = File.join(project_path, base_path, path_to_driver) when :edge path_to_driver = 'windows/MicrosoftWebDriver.exe' Selenium::WebDriver::Edge.driver_path = File.join(project_path, base_path, path_to_driver) end puts "The webdriver path is: #{File.join(project_path, base_path, path_to_driver)}" unless path_to_driver.nil? end |