I'm trying to define a step to test the value of alt text of an image using Capybara and CSS selectors.
I wrote one for input values based on the readme examples:
Then /^I should see a value of "([^\"]*)" within the "([^\"]*)" input$/ do |input_value, input_id|
element_value = locate("input##{input_id}").value
element_value.should == input_value
end
But I can't figure this one out…something like:
Then /^I should see the alttext "([^\"]*)"$/ do | alt_text |
element_value = locate("img[alt]").value
end
Anyone know how I can locate the alt text value?
Best Answer
Capybara uses xpath by default, so unless you changed that setting, that could be part of your problem. (You could use
locate(:css, "img[alt]")
).I would write the tests using xpath to look something like this: