Comment sélectionner une option dans la liste déroulante à l'aide de Capybara

Je suis en train de sélectionner un élément dans un menu déroulant à l'aide de Capybara (2.1.0).

Je veux sélectionner par numéro (sens sélectionnez la deuxième, troisième, etc option).

J'ai Googlé comme un fou en essayant toutes sortes de choses, mais pas de chance.

J'ai pu sélectionner à l'aide de la valeur:

 find("option[value='4c430d62-f1ba-474f-8e8a-4452c55ea0a8']").click

Mais je ne veux pas utiliser cette méthode b/c la valeur est quelque chose qui va changer et que va faire mon test cassants.

Le code HTML de la liste déroulante est:

<td class="value">
    <select name="organizationSelect" id="organizationSelect" class="required">
     <option value="NULL">Choose...</option>
     <option value="4c430d62-f1ba-474f-8e8a-4452c55ea0a8">&nbsp;Institution1</option>
     <option value="e1a4efa7-352d-410a-957e-35c8a3b92944">&nbsp;Institution / test</option>
    </select>
</td>

J'ai aussi essayé ceci:

  option = find(:xpath, "//*[@id='organizationSelect']/option[2]").text  
  select(option, :from => organizationSelect)

Mais il en résulte cette erreur:

Ambiguous match, found 2 elements matching option "Institution" (Capybara::Ambiguous)

Alors, comment puis-je sélectionner la première, deuxième, troisième, etc option dans le menu déroulant (à l'aide de Capybara) ?

InformationsquelleAutor Farooq | 2013-11-21