所以我试着去运行需要什么似乎是一个基本的HTTP认证在Rails的网站一些自动化测试:水豚/骚灵HTTP认证
进出口使用本地主机:3000我的主机。
Capybara.app_host = "http://localhost:3000"
Capybara.server_host = "localhost"
Capybara.server_port = "3000"
IM在Firefox中运行这个,现在,我试着做http://username:[email protected]:3000但它通常发出警告“钓鱼网站”,但我继续反正,但它不工作和HTTP弹出仍然出现。 (我听说很多浏览器都禁用了这个功能)。
我知道Selenium有办法解决它,但Poltergeist呢?或任何内置在水豚中的东西。
我看到这里提到的前一个问题:HTTP basic auth for Capybara
但看到如何上面的网址不起作用这似乎并没有擦出火花。
编辑:当前骚灵驱动程序设置:
options = {
:timeout => 45,
:phantomjs_options => ["--proxy-auth="]
}
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, options)
end
Capybara.default_driver = :selenium
Capybara.javascript_driver = :poltergeist
我希望这会很简单,不幸的是我得到一个“无法到达服务器”。由于数据库的原因,这个应用程序在本地运行速度非常慢......但只要在它之前设置的用户名/密码应该不重要?我确定我的超时时间也很长。 (它在硒上运行,当我在运行时手动输入用户名/密码) – msmith1114
实际上,我认为问题在于它是作为代理站点运行的,所以正常的http头不起作用。 – msmith1114
@ msmith1114与poltergeist有page.driver.headers =/add_headers/add_header,所以你可以设置任何你需要的标题 - 虽然“无法到达服务器”并不真正听起来像一个身份验证拒绝 - 你设置了什么超时? (在驱动程序注册中设置了Poltergeists超时选项) –