Как я тестирую значение высокого звука изображения с помощью капибары?

Я пытаюсь определить шаг для тестирования значения сопроводительного текста изображения с помощью селекторов CSS и Капибары.

Я записал один для входных значений на основе readme примеров:

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

Но я не могу понять этого... что-то как:

Then /^I should see the alttext "([^\"]*)"$/ do | alt_text |
  element_value = locate("img[alt]").value
end

Кто-либо знает, как я могу определить местоположение значения сопроводительного текста?

7
задан echristopherson 21 April 2013 в 22:02
поделиться

2 ответа

Capybara использует xpath по умолчанию, так что если вы не изменили эту настройку, это может быть частью вашей проблемы. (Вы можете использовать locate(:css, "img[alt]")).

Я бы написал тесты с использованием xpath примерно так:

Then /^I should see the alt text "([^\"]*)"$/ do | alt_text |
    page.should have_xpath("//img[@alt=#{alt_text}]")
end

Then /^I should see a value of "([^\"])" within the "([^\"])" input$/ do |input_value, input_id|
    page.should have_xpath("//input[@id=#{input_id} and text()=#{input_value}]
end
12
ответ дан 6 December 2019 в 06:13
поделиться

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

Вместо этого может сработать что-то вроде этого:

page.should have_css("img[alt=the_alt_text_you_are_expecting]")
10
ответ дан 6 December 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: