【发布时间】:2014-04-23 08:41:11
【问题描述】:
我正在尝试将我们的测试从 selenium 转换为 rspec 和 capybara,但我遇到了一些问题。在 selenium 中,我们使用了一个名为 verifyText 的函数,它基本上检查两个值是否相似。但是,对于 rspecs 和 capybara,当文本是带有重音的法语时,我遇到了问题。
Failure/Error: verifyText "//div[@id='adview']/div[2]/div/div", "crédit"
expected: "crédit"
got: "crédit" (using ==)
我认为这是一个编码问题。但是,我已将编码指定为 ISO-8859-15,但它仍然对我不起作用。 下面是测试文件的样子:
# -*- encoding : iso-8859-15 -*-
describe "php-placeholder", type: :feature do
it "placeholderFr_Placeholder" do
verifyText "//div[@id='adview_aside']/div[2]/div/div", "crédit"
这是 verifyText 的样子。
def verifyText(id, value)
(page.first(:xpath, id).text.force_encoding 'iso-8859-15').should == value
end
【问题讨论】:
-
尝试在规范顶部使用
utf-8而不是iso-8859-15。 -
我尝试使用 encode 而不是 force_encoding 并且成功了 :)
标签: ruby selenium rspec capybara