Formlarımın içinde birden fazla select2 seçeneğim olduğu bazı test senaryoları ile çalışıyorum. Sunucumdan gelen değerlerle select2 kutularını doldurmaya çalışıyorum (AJAX isteği). Selenyum kaydedici kullanmayı denedim. Bu iyi bir yardım değil. Select2'nin çalışmasını anlamıyor.Selenyum yardımı ile select2'den seçenekler nasıl seçilir IDE
Aşağıdaki komutlarım aşağıda yer almaktadır. aşağıdaki gibi
@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")
Ve son satırı aşağıdaki hatayı
[error] Option with label 'Primary' not found
Benim HTML kodu atıyor olan kodu için selenyum IDE kullanmak iyi bir fikir değil
<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>
böyle bir şey yapmak. Capybara'yı kullanarak da çözümüm var. Ama bunu yapmak istediğim başka bir kullanım durumum var. Bu kodla ilgili yararlı bir şeyin var mı? –
Net olmak için: Selenyum-webdriver kodu yukarıda verilmiştir. Selenyum IDE versiyonuna (selenise) ihtiyacınız var mı? – Antesser
Farklı bir çözüm buldum. Çözümün bile işe yaradı. RunScript komutunu kullanarak birkaç select2 betiği çalıştırdım. Ve istediğim gibi çalışıyor. –