获得远程浏览器的水豚会话

时间:2015-10-01 22:09:19

标签: capybara selenium-grid2

我找不到任何能够传递功能并创建远程会话的正确方法。类似下面的内容

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

有人能指出我如何做到这一点的正确方向吗?我已经看到了很多关于如何注册这个https://blog.testingbot.com/2012/02/19/selenium-cucumber-capybara的遥控器的例子,但没有什么可以得到它的实例,以便我可以在代码中对它进行操作。

2 个答案:

答案 0 :(得分:0)

假设您已按照您列出的文章注册了驱动程序,那么创建会话就像您提出的那样

session = Capybara::Session.new :registered_driver_name

如果你想让capybara运行测试本身的应用程序,那么

session = Capybara::Session.new :registered_driver_name, rack_app

答案 1 :(得分:0)

subprocess.check_call('dir > popen_output.txt',shell=True)

现在,当您尝试通过调用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 方法开始新会话时,将使用:remote_chrome驱动程序。