我希望根据浏览器语言显示不同的语言,我自然会测试以确保它正常工作。我正在使用Cucumber和Capybara,Gem版本分别为1.0.6和1.1.1。
我在网上找到了一些建议,但到目前为止还没有任何建议。我已经尝试了以下(单独)但没有成功。
page.driver.language = language
header "Accept-Language", language
page.driver.header 'Accept-Language', language
语言设置为“en”或“fr”。
有人可以帮忙吗?谢谢,Graeme。
答案 0 :(得分:3)
知道了!
我有正确的路线,问题出在其他地方。
page.driver.header 'Accept-Language', language
这很好用,问题是我的情景如下。
Scenario:
Given I am an anonymous user
And the browser language is fr
Then I should see "Bonjour"
应该是
Scenario:
Given the browser language is fr
And I am an anonymous user
Then I should see "Bonjour"
“我是匿名用户”步骤只是先退出。在使用浏览器的任何其他步骤之前,似乎必须设置浏览器语言。
答案 1 :(得分:2)
使用poltergeist:
page.driver.add_headers('Accept-Language' => 'fr')
更多详情:https://github.com/teampoltergeist/poltergeist#manipulating-request-headers
答案 2 :(得分:1)
你使用的是什么Capybara司机?这适用于Mechanize:
When /^I set my browser language to French$/ do
page.driver.agent.request_headers['Accept-Language'] = 'fr'
end