如何在我的 Cucumber / Capybara 步骤定义 (Rails 3) 中进行 xpath 正则表达式搜索?

发布于 2024-10-15 01:38:04 字数 283 浏览 4 评论 0原文

我有一个场景,可以验证我刚刚上传的图像是否存在于下一页上。

下面这个效果很好,除了我有一个基于listing_id的可变文件夹结构。如何在此处使用正则表达式将 image 仅与文件名而不是整个网址匹配?

Then /^I should see the image "(.+)"$/ do |image|
    page.should have_xpath("//img[@src=\"/public/images/#{image}\"]")
end

I have a Scenario that validates that the image I just uploaded exists on the next page.

This below works great, except that I have a variable folder structure based on the listing_id. How can I use regex here to match image to only the filename instead of the entire url?

Then /^I should see the image "(.+)"$/ do |image|
    page.should have_xpath("//img[@src=\"/public/images/#{image}\"]")
end

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一个人练习一个人 2024-10-22 01:38:04

尝试 page.should have_xpath("//img[contains(@src, \"#{image}\")]"),它将匹配任何 img 其 < code>src 包含您的文件名。

Try page.should have_xpath("//img[contains(@src, \"#{image}\")]"), which will match any img whose src contains your filename.

谁人与我共长歌 2024-10-22 01:38:04

如果您可以选择,那么在这种情况下使用 css 选择器会更简洁:

page.should have_selector( :css, "a[href$='#{image}']")

请注意“href$”末尾的“$”以表示与末尾匹配字符串的。

If you have the option then using a css selector is more concise in this case:

page.should have_selector( :css, "a[href$='#{image}']")

Note the '$' on then end of 'href$' to denote matching against the end of the string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文