使用 capybara poltergeist 获取外部页面

Fetching external pages using capybara poltergeist

我有一个 rails 带有一堆集成测试的应用程序 运行 水豚驱动程序恶作剧。他们都运行很棒。

我有一个测试但是我需要点击外部 url 例如 http://www.google.com - 我无法让它工作,它总是只加载本地应用程序。

例如,如果我执行以下操作:

visit "http://google.com"
page.html

它输出我的 rails 应用首页的 html 而不是 google.com

的 html

有没有人远程 urls 在本地测试的同时使用 poltergeist?

事实证明,我的测试实际上使用的是默认驱动程序,只有在您手动切换到使用 js 驱动程序时才会使用 poltergeist。机架驱动程序无法访问外部 url,因此您需要确保切换到 js 驱动程序。因此,要解决上述问题,您只需要做:

Capybara.current_driver = Capybara.javascript_driver
visit "http://google.com"
page.html

对于有同样问题的其他人来说,值得一试https://gist.github.com/turadg/5399790