如何在 Cucumber / Capybara 中设置浏览器语言?

Sim*_*mmo 3 ruby-on-rails cucumber capybara

我希望根据浏览器语言显示不同的语言,当然我想进行测试以确保它正常工作。我使用的是 Cucumber 和 Capybara,Gem 版本分别为 1.0.6 和 1.1.1。

我在网上找到了一些建议,但到目前为止没有一个有效。我(单独)尝试了以下方法,但没有成功。

page.driver.language = language
header "Accept-Language", language
page.driver.header 'Accept-Language', language
Run Code Online (Sandbox Code Playgroud)

其中语言设置为“en”或“fr”。

有人可以帮忙吗?谢谢,格雷姆。

Sim*_*mmo 5

知道了!

我的线路是正确的,问题出在其他地方。

page.driver.header 'Accept-Language', language
Run Code Online (Sandbox Code Playgroud)

这工作正常,问题是我的场景如下。

Scenario:
  Given I am an anonymous user
  And the browser language is fr
  Then I should see "Bonjour"
Run Code Online (Sandbox Code Playgroud)

本来应该是

Scenario:
  Given the browser language is fr
  And I am an anonymous user
  Then I should see "Bonjour"
Run Code Online (Sandbox Code Playgroud)

“我是匿名用户”步骤只是先注销。似乎必须先设置浏览器语言,然后才能执行使用浏览器的任何其他步骤。