Sto provando a selezionare un elemento da un menu a discesa usando Capybara (2.1.0).
Voglio selezionare per numero (ovvero selezionare la seconda, la terza, ecc.).
Ho cercato su Google come un matto di provare ogni sorta di cose, ma senza fortuna.
Sono stato in grado di selezionarlo utilizzando il valore:
find("option[value='4c430d62-f1ba-474f-8e8a-4452c55ea0a8']").click
Ma non voglio usare quel metodo b / c il valore è qualcosa che cambierà e che renderà il mio test fragile.
L'HTML per il menu a discesa è:
<td class="value">
<select name="organizationSelect" id="organizationSelect" class="required">
<option value="NULL">Choose...</option>
<option value="4c430d62-f1ba-474f-8e8a-4452c55ea0a8"> Institution1</option>
<option value="e1a4efa7-352d-410a-957e-35c8a3b92944"> Institution / test</option>
</select>
</td>
Ho anche provato questo:
option = find(:xpath, "//*[@id='organizationSelect']/option[2]").text
select(option, :from => organizationSelect)
Ma provoca questo errore:
Ambiguous match, found 2 elements matching option "Institution" (Capybara::Ambiguous)
Quindi, come posso selezionare la prima, la seconda, la terza, ecc. Dal menu a discesa (usando Capybara)?