Как мне выполнить поиск регулярных выражений xpath в моем определении шага Cucumber / Capybara (Rails 3)? - PullRequest
9 голосов
/ 27 января 2011

У меня есть сценарий, который подтверждает, что только что загруженное изображение существует на следующей странице.

Это прекрасно работает, за исключением того, что у меня есть переменная структура папок, основанная на перечислении list_id.Как я могу использовать здесь регулярное выражение, чтобы image соответствовало только имени файла вместо всего URL?

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

Ответы [ 2 ]

15 голосов
/ 27 января 2011

Попробуйте page.should have_xpath("//img[contains(@src, \"#{image}\")]"), что соответствует любому img, чье src содержит ваше имя файла.

0 голосов
/ 08 марта 2015

Если у вас есть опция, то использование селектора css более кратко в этом случае:

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

Обратите внимание на '$' в конце, затем на 'href$', чтобы обозначить совпадение сконец строки.

...