我正在使用Poltergeist / Capybara进行测试:
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, {
timeout: 60,
phantomjs_options: ['--load-images=no'],
case_insensitive: true # <-- doesn't work
})
end
end
但是我注意到我必须重写很多测试,因为Poltergeists的驱动程序似乎是case-sensitive
。有什么我可以通过改变这个吗?
答案 0 :(得分:3)
正如@eugen所提到的,默认情况下,水豚中的所有搜索都区分大小写。你提到必须重写测试的问题通常发生在从支持css文本转换的驱动程序转移到不支持css文本转换的驱动程序时,所以匹配的文本是否具有css文本 - 应用了transform(uppercase / lowercase / capitalize / ...)。如果您希望能够在驱动程序之间来回切换并且确实需要不区分大小写,则可以将正则表达式传递给不同的匹配器
expect(page).to have_text(/case insensitive text/i)
expect(page).to have_selector(:css, '#div1', text: /case insensitive text/i)
答案 1 :(得分:1)
答案 2 :(得分:1)
capybara
中的所有搜索都区分大小写,没有全局选项可以更改它。如果您需要进行不区分大小写的匹配,则必须在搜索搜索的基础上进行匹配。