2013-06-18 14 views
5

ho ottenuto un elemento di selezione che assomigliano a questo, ora voglio aprirlo e selezionare l'opzione con il valore di t3, così ho provato in questo modo:selezionare un'opzione con selenium2 + phpunit

<select id="selectMenu"> 
<option value="">&nbsp;</option> 
<option value="t1">test 1</option> 
<option value="t2">test 2</option> 
<option value="t3">test 3</option> 
<option value="t4">test 4</option> 
<option value="t5">test 5</option> 
<option value="t6">test 6</option> 
</select> 

$this->byId('selectMenu')->click(); 
sleep(1); 
$type = $this->elements($this->using('css selector')->value(option[value="t3"]')); 
$type[0]->click(); 

Ora questo apre il menu ma non seleziona il tag dell'opzione, ho pensato di usare select() invece di click() ma select() non è ancora supportato, o almeno questo è il messaggio che ottengo quando provo a usare il metodo. Eseguo la seguente estensione PHPUnit_Extensions_Selenium2TestCase.

risposta

12

è relativamente semplice.

$this->select($this->byId('selectMenu'))->selectOptionByValue('t3'); 

questo dovrebbe selezionare l'opzione della casella di selezione in base al valore. Utilizzando PHPUnit Selenio 2 v1.3.3

0

$ this-> byId ('selectMenu') -> selectOptionByValue ('t3');

2

ho trovato avevo bisogno di convertire il PHPUnit_Extensions_Selenium2TestCase_Element ad un PHPUnit_Extensions_Selenium2TestCase_Element_Select:

PHPUnit_Extensions_Selenium2TestCase_Element_Select::fromElement($this->byId('selectMenu'))->selectOptionByValue('t3'); 

Vedi anche other question

-1

Si può provare con

$this->select('css=#selectMenu','test 1'); 
0

Per selezionare mediante l'uso valore

 $this->select($this->byName())->selectOptionByValue($value); 

Per selezionare utilizzando utilizzare un'etichetta

 $this->select($this->byName())->selectOptionByLabel($label);