我正在尝试将我们的测试从硒转换为rspec和水豚但是我遇到了一些问题。在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
答案 0 :(得分:0)
嗨,我已经找到了解决方案。我使用了错误的编码功能。我使用以下功能,它解决了我的问题。
def verifyText(id, value)
page.first(:xpath, id).text.encode('iso-8859-15').should == value
end