Ruby on rails 如何在Cucumber/Capybara步骤定义(Rails 3)中执行xpath正则表达式搜索?
我有一个场景可以验证我刚才上传的图像是否存在于下一页 下面这个很好用,除了我有一个基于列表id的可变文件夹结构。我如何在这里使用regex将image仅匹配文件名而不是整个urlRuby on rails 如何在Cucumber/Capybara步骤定义(Rails 3)中执行xpath正则表达式搜索?,ruby-on-rails,regex,cucumber,paperclip,Ruby On Rails,Regex,Cucumber,Paperclip,我有一个场景可以验证我刚才上传的图像是否存在于下一页 下面这个很好用,除了我有一个基于列表id的可变文件夹结构。我如何在这里使用regex将image仅匹配文件名而不是整个url Then /^I should see the image "(.+)"$/ do |image| page.should have_xpath("//img[@src=\"/public/images/#{image}\"]") end 请尝试page。应该有\u xpath(“//img[contains
Then /^I should see the image "(.+)"$/ do |image|
page.should have_xpath("//img[@src=\"/public/images/#{image}\"]")
end
请尝试
page。应该有\u xpath(“//img[contains(@src,\“{image}\”)”)
,它将匹配任何img
,其src
包含您的文件名。如果您有此选项,则在这种情况下使用css选择器更简洁:
page.should have_selector( :css, "a[href$='#{image}']")
请注意“
href$
”末尾的“$
”,以表示与字符串结尾的匹配。我建议使用以
函数结尾。@Jamis:我的意思是使用以
XPath函数结尾,而不是包含
。我对ruby一无所知,但复制粘贴@dmarkow的代码将给出page.should有\u xpath(//img[以(@src,\“{image}\”)结尾)