mmr*_*mmr 10 capybara ruby-on-rails-3 poltergeist
我有一个测试程序,它通过向rails服务器发送大块数据来模仿用户的iOS设备.该程序在测试之外工作正常.在测试中,程序立即超时,因为它找不到服务器.
我的配置,在env.rb中:
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
Capybara.server_port = 3123
Capybara.app_host = "http://0.0.0.0:3123"
Run Code Online (Sandbox Code Playgroud)
在测试中,我尝试过类似的东西
puts Capybara.current_session.current_host
puts Capybara.current_session.current_url
Run Code Online (Sandbox Code Playgroud)
等等,但这些都是空白的.这样做:
放下Capybara.current_session
产生一个内存地址,所以我知道当前的会话正在运行.
这是在宝石文件中像Capybara这样设置的:
gem 'capybara', '~> 2.0.2
Run Code Online (Sandbox Code Playgroud)
我已经看到了几个基于此的问题,但他们的答案对我不起作用.具体来说,Capybara似乎没有像我指定的那样设置当前主机或url,也不是实际允许我查看当前会话的内容.那么我该如何解决这个问题并指定一个特定的端口和网址呢?
lui*_*7up 16
对于水豚<2.0:
Capybara.current_session.driver.rack_server.host
Capybara.current_session.driver.rack_server.port
Run Code Online (Sandbox Code Playgroud)
Capybara 2.0:
Capybara.current_session.server.host
Capybara.current_session.server.port
Run Code Online (Sandbox Code Playgroud)
我在这里找到了答案:Cucumber/Capybara - 如何获取当前执行的主机和端口