Выберите любой элемент из списка, выбрав Capybara - программирование
Подтвердить что ты не робот

Выберите любой элемент из списка, выбрав Capybara

Я пытаюсь написать тест для небольшого приложения Rails, над которым я работаю. Модель Users имеет отношение has_many (в обоих направлениях) к другим пользователям, а пользователи имеют отношения has_many с назначением. В конце пользовательского интерфейса пользователи могут выбрать другого пользователя для присоединения новых назначений. Я бы хотел проверить это. Проблема прямо сейчас заключается в том, что я не могу понять, как использовать Capybara для выбора из списка элементов, которые я не знаю в тексте. Я написал задачу rake для создания моей тестовой базы данных случайным образом, и хотя я мог бы смотреть в базу данных и записывать свой тест таким образом, это, конечно, сломало бы вторую я reset базу данных.

Я только тестирую, что количество назначений в тестовой базе данных изменяется на 1. Я использую Rspec с Capybara.

4b9b3361

Ответ 1

Скажем, что элемент <select> имеет id "foo". Затем должно работать следующее.

option = first('#foo option').text
select option, from: 'foo'

Ответ 2

Вы можете найти элемент option, а затем вызвать select_option на нем. Например, чтобы выбрать третий элемент в раскрывающемся списке:

all('#foo option')[2].select_option