2011-09-20 101 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