Я пишу тест capybara в rspec, где я пытаюсь найти счет элемента с его атрибутом, имеющим определенное значение. Мой DOM имеет следующий элемент:Capybara :: ElementNotFound using 'find_field'
<svg version="1.1" id="some_id" x="0px" y="0px" viewBox="0 0 2 2" enable-background="previous 0 0 2 2">
<svg version="1.1" id="some_id" x="0px" y="0px" viewBox="0 0 2 2" enable-background="previous 0 0 2 2">
<svg version="1.1" id="some_id" x="0px" y="0px" viewBox="0 0 5 7" enable-background="Hello 0 0 5 7">
Я хочу, чтобы найти количество элемента, имеющего включения-фоновое значение как «предыдущий 0 0 2 2» или, может быть, значение Viewbox как «0 0 2 2». Я попытался следующие:
expect(find_field("enable-background", {with: "previous 0 0 2 2"}).count).to eq(2)
Ошибка я получаю: Capybara::ElementNotFound: Unable to find field "enable-background" with value "previous 0 0 2 2"
Что я здесь делаю неправильно?
Если вы хотите знать количество, то find_all/все правильно, если с другой стороны, вы хотите, чтобы проверить количество является определенное число, как ваш ответ делает, вы должны написать это как «ожидать (страница) .to have_selector ('svg [viewBox =" 0 0 2 2 "]', count: 2)' - что уменьшит потенциальную шелушатость тестов, позволяя Capybara использовать свое поведение ожидания –