2011-09-20 94 views
3

我想要显示一种不同的语言,具体取决于浏览器语言,当然我想测试以确保它正常工作。我使用黄瓜和水豚,宝石版本分别为1.0.6和1.1.1。如何在Cucumber/Capybara中设置浏览器语言?

我在网上发现了一些建议,但目前为止没有任何工作。我尝试了以下(单独),但没有成功。

page.driver.language = language 
header "Accept-Language", language 
page.driver.header 'Accept-Language', language 

其中language设置为“en”或“fr”。

任何人都可以帮忙吗?谢谢,格雷姆。

回答

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

你正在使用什么水豚司机?这适用于机械化:

When /^I set my browser language to French$/ do 
    page.driver.agent.request_headers['Accept-Language'] = 'fr' 
end 
+0

我还没有专门设置一个驱动程序才能使用,所以不管默认的水豚驱动程序。通过设置特定的东西,我能获得更好的结果吗谢谢。 – Simmo

+0

然后您将使用机架测试。如果以上不起作用,那么试试这个:https://github.com/jnicklas/capybara/issues/320 –

+0

嗨,安迪,感谢您的链接,但我仍然有点失落,因为我把什么放在哪里能够即时设置语言。道歉有点密集!干杯,格雷姆 – Simmo