通常,我在端口3000上使用Rails开发服务器。
水豚/黄瓜使用Capybara.server_port = 31337。如果我从默认驱动程序交换到selenium,则看起来它尝试在端口80上进行连接。
Capybara.server_port = 31337
我想了解:
如果有人举了一个env.rb配置示例,可以帮助您,请告诉我!
谢谢!
如果使用硒,则应在测试环境中启动Web服务器。您可以在与开发不同的端口上启动它。然后,您应该将Capybara配置为使用该端口:
Capybara.run_server = true #Whether start server when testing Capybara.server_port = 8200 Capybara.default_selector = :css #:xpath #default selector , you can change to :css Capybara.default_wait_time = 5 #When we testing AJAX, we can set a default wait time Capybara.ignore_hidden_elements = false #Ignore hidden elements when testing, make helpful when you hide or show elements using javascript Capybara.javascript_driver = :selenium #default driver when you using @javascript tag # Other option is: # Capybara.javascript_driver = :webkit
如果您不想每次在运行黄瓜方案之前都启动服务器,建议您使用capybara webkit驱动程序。所有JavaScript方案都将在后台运行。它还将在连续集成服务器上工作。
如果您在Linux平台上,则capybara- webkit需要X服务器才能运行。要设置它,您可以使用无头宝石。这是黄瓜的无头配置:
# place code below in features/support/headless.rb if Capybara.current_driver == :webkit require 'headless' headless = Headless.new headless.start at_exit do headless.destroy end end