rspec编码问题

时间:2014-04-23 08:41:11

标签: ruby selenium rspec capybara

我正在尝试将我们的测试从硒转换为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

1 个答案:

答案 0 :(得分:0)

嗨,我已经找到了解决方案。我使用了错误的编码功能。我使用以下功能,它解决了我的问题。

def verifyText(id, value)
  page.first(:xpath, id).text.encode('iso-8859-15').should == value
end
相关问题