ruby-on-rails – 当使用capybara / rails运行硒时,如何配置服务器?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 当使用capybara / rails运行硒时,如何配置服务器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
通常我在port 3000使用rails dev服务器.

Capybara / Cucumber使用Capybara.server_port = 31337.如果我从默认驱动程序交换到硒,它看起来像尝试在端口80上连接.

我正在想:

>使用硒时,需要在测试环境中单独实例化一个测试服务器.
>如果上述问题的答案是肯定的,我该如何做到这一点,所以我可以在Web驱动程序之间无缝互换,而不必继续改变事情?

如果有人有一个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服务器.要设置它,您可以使用headless宝石.这里是黄瓜的无头配置:

# 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
原文链接:https://www.f2er.com/ruby/273312.html

猜你在找的Ruby相关文章