我在rails 3.2应用程序中有一些功能需要由用户的USER_AGENT驱动。基本上,对于某些较旧的浏览器,我需要以不同的方式呈现页面。
如何使用capybara / cucumber测试我的视图是否正确响应?
我看过这篇文章,但它看起来不像最新的水豚 - 它基本上破坏了水豚根据环境参数的方式:
http://blog.sparqcode.com/2011/03/07/custom-user-agent-strings-with-cucumber-and-capybara/
我想要的是黄瓜步骤定义,看起来像这样:
When /^I visit the page with an unsupported browser$/ do
user_agent = "Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.2) Gecko/2008092313 Ubuntu/9.25 (jaunty) Firefox/3.8"
# do something here that mimics the user arriving on the page with this USER_AGENT
end
答案 0 :(得分:1)
如果您使用Firefox运行测试,则可以使用您喜欢的任何USER_AGENT创建自定义驱动程序。请参阅this answer。
创建自定义驱动程序后,只需使用驱动程序名称标记方案即可在运行方案时使用它,例如,如果执行Capybara.register_driver :old_browser
,则可以将方案标记为{{1} },Capybara会自动切换驱动程序。如果您不喜欢,可以随时切换驱动程序:@old_browser
。