capybara-webkit 在无头工作时使用哪个端口和域?
我有一个应用程序,它使用存储在表中的域来确定网站的某些方面。如果在数据库中找不到该域,则会生成错误。
当我正常使用黄瓜进行测试时,我使用域 localhost,一切都按预期工作。当我尝试使用 capybara-webkit 和 headless 进行测试(用于测试网站的 javascript 部分)时,我收到 localhost 的域未找到错误。
谁能告诉我如何确定 capybara-webkit 和 headless 正在使用的域和端口,以便我可以确保可以提前将信息插入表中。或者,也可以提前设置水豚。
我尝试了以下方法但没有成功(尽管它对我的无 js/无头测试都有效)。
Capybara.app_host = "http://localhost"
Capybara.javascript_driver = :webkit
if Capybara.current_driver == :webkit
require 'headless'
headless = Headless.new
headless.start
end
I have an app which uses domains stored in a table to determine certain aspects of the site. If the domain isn't found in the db, an error is generated.
When I test with cucumber normally, I use the domain localhost, and everything works as expected. When I try testing with capybara-webkit and headless (for testing the javascript portions of the site) I get a domain not found error for localhost.
Can anyone tell me how I can determine the domain and port that capybara-webkit and headless are using so that I can make sure that I can insert the info the the tables in advance. Or alternatively, set Capybara in advance instead.
I've tried the following without success (although it all works for my none js/headless tests).
Capybara.app_host = "http://localhost"
Capybara.javascript_driver = :webkit
if Capybara.current_driver == :webkit
require 'headless'
headless = Headless.new
headless.start
end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
经过一些尝试和错误,我发现了一些可行的方法。我停止使用 localhost 作为数据库中的引用,而是使用 127.0.0.1。然后我将 env.rb 中的代码修改如下。
我意识到 @javascript 变量超出了这里的要求,但我在其他地方使用它。我不知道为什么它有效,但它确实有效!
With a bit of trial and error I found something that works. I stopped using localhost as the reference in the database and used 127.0.0.1 instead. I then amended the code in env.rb as follows.
I realise the @javascript variable is surplus to requirements here, but I use it elsewhere. I'm not sure why it works, but it does!