Я работаю с некоторыми сценариями тестов, где у меня есть несколько вариантов select2 внутри моих форм. Я пытаюсь заполнить поля select2 значениями, поступающими с моего сервера (запрос AJAX). Я пробовал использовать рекордер селена. Это не очень помогает. Он не понимает работу select2.Как выбрать опции из select2 с помощью селена IDE
Я помещаю свои команды ниже.
@driver.get(@base_url + "/app/customers")
@driver.find_element(:link, "Add Customer").click
@driver.find_element(:name, "customer[name]").click
@driver.find_element(:name, "customer[name]").clear
@driver.find_element(:name, "customer[name]").send_keys "Chinmay"
Selenium::WebDriver::Support::Select.new(@driver.find_element(:xpath, "//*[@id=\"page-content\"]/div/div/div/div/form/div[4]/div[1]/div[4]/select")).select_by(:text, "label=Primary")
И последняя строка бросает следующее сообщение об ошибке
[error] Option with label 'Primary' not found
Мой HTML-код просто следующим
<select class="form-control amura-select2 select2-hidden-accessible" data-type="ds" data-name="address_types" data-default="only" style="width:100%;" required="required" name="customer[address_attributes][address_type]" aria-required="true" tabindex="-1" aria-hidden="true">
<option value="primary">Primary</option>
</select>
Я знаю, плюсы и минусы использования селена IDE. У меня также есть решение, использующее Capybara. Но у меня есть другой вариант использования, для которого я хочу это сделать. Итак, у вас есть что-то полезное в отношении этого кода? –
Чтобы быть ясным: код Selenium-webdriver приведен выше. Вам нужна версия IDE селена (на селенизе)? – Antesser
Я нашел другое решение. Даже ваше решение сработало. Используя команду runScript, я запустил несколько скриптов select2. И он работает так, как я хотел. –