Sto provando a selezionare un valore in un elemento select. Uso Selenium RC (Java) per eseguire i test case. Comprendo che il codice per la selezione di un valore è dato da:Utilizzo del selenio per selezionare un'opzione su una selezione con optgroup
selenium.select("locator", "value=REQUIRED VALUE")
Non riesco a selezionare il valore desiderato con il codice precedente. Penso che potrebbe essere qualcosa a che fare con optgroup nel codice sorgente selezionato. Non ottengo eccezioni, il comando viene eseguito correttamente ma guardando la pagina il valore richiesto non è selezionato. Inoltre, non posso usare id (invece del valore) perché non ci sono. Ecco il codice sorgente del selettore:
<select>
<optgroup label="Group1">
<option value="13">some value1</option>
<option value="25">some value2</option>
</optgroup>
<optgroup label="Group2">
<option value="18">REQUIRED VALUE</option>
<option value="34">some value3</option>
...
...
</optgroup>
</select>
C'è un modo per selezionare il valore richiesto utilizzando Selenium?
Sarebbe bello se potessimo evitare i valori delle opzioni (come "18", "34" ecc.) Perché questi numeri cambiano in seguito al variare dei valori. Ad esempio, "REQUIRED VALUE" ha un valore -18 ma se dovessi eliminare questo elemento e aggiungerlo nuovamente il suo valore sarebbe diverso. Fondamentalmente questa casella a discesa è dinamica.
Ciao Dave, Grazie per la risposta. Ma pensi che ci sia un altro modo oltre all'utilizzo del 18? I contenuti del menu a tendina cambiano nella mia applicazione e così fanno i numeri. In altre parole, in questo momento sta mostrando come ma può essere qualsiasi numero. Anche se eseguo i miei test più volte questi numeri cambiano. Avete altre idee su cosa si può fare? Nel frattempo aggiornerò questo commento anche sulla mia domanda. Grazie, Mugen – Mugen
Controlla di nuovo la mia risposta. Sto suggerendo di cambiare "value =" in "label =". Ciò ti consente di selezionare un'opzione in base alla sua etichetta anziché al suo valore. –
Grazie per la risposta. Funziona perfettamente con l'etichetta! – Mugen