加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 20:24:14 所属栏目:百科 来源:网络整理
导读:通常我在port 3000使用rails dev服务器. Capybara / Cucumber使用Capybara.server_port = 31337.如果我从默认驱动程序交换到硒,它看起来像尝试在端口80上连接. 我正在想: 使用硒时,需要在测试环境中单独实例化一个测试服务器. 如果上述问题的答案是肯定的,
通常我在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读