2015-10-01 40 views
0

我無法找到任何顯示傳遞能力和創建遠程會話的正確方法。像下面的東西爲遠程瀏覽器獲取水豚會話

Capybara.default_driver = :Selenium 
@session = Capybara::Session.new :selenium 

任何人都可以指出我在正確的方向如何做到這一點?我已經看到了很多例子,如何註冊一個像這樣的https://blog.testingbot.com/2012/02/19/selenium-cucumber-capybara的遠程,但沒有任何可以獲得它的實例,以便我可以在代碼中對其進行操作。

回答

0

假設你已經註冊的驅動程序之類的文章中你列出,則創建它,就像你把你的問題

session = Capybara::Session.new :registered_driver_name 

如果你想豚被測本身運行的應用程序,然後它的

會話
session = Capybara::Session.new :registered_driver_name, rack_app 
0
require 'capybara' 
require 'selenium-webdriver' 

#Register driver 
WEBDRIVER_HUB_URL = "http://<YOUR_SELENIUM_GRID_HOST>:4444/wd/hub" 
TARGET_RESOLUTION = [1280,1024] 
CHROME_SWITCHES = %W(--window-size=#{TARGET_RESOLUTION[0]},#{TARGET_RESOLUTION[1]} --disable-translate) 
CHROME_OPTIONS = { 
    'args' => CHROME_SWITCHES 
} 

Capybara.register_driver :remote_chrome do |app| 
    caps = Selenium::WebDriver::Remote::Capabilities.chrome(:chromeOptions => CHROME_OPTIONS) 
    opts = { 
    :browser  => :remote, 
    :url   => WEBDRIVER_HUB_URL, 
    :desired_capabilities => caps 
    } 
    Capybara::Selenium::Driver.new(app, opts) 
end 

# Configure Capybara 
Capybara.configure do |config| 
    config.default_driver   = :remote_chrome 
    config.javascript_driver  = :remote_chrome 
end 

現在,當您試圖通過調用Capybara.page方法來啓動一個新的會話:remote_chrome驅動程序將被使用。