2013-06-18 26 views
5

mam wybrać element, który wyglądać tak, teraz chcę go otworzyć i wybrać opcję z wartością t3, więc próbowałem to tak:wybrać opcję z 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(); 

teraz to otwiera menu, ale nie wybiera znacznika opcji, myślałem o użyciu select() zamiast click(), ale select() nie jest jeszcze obsługiwany, lub przynajmniej jest to wiadomość, którą otrzymuję, gdy próbuję użyć tej metody. Uruchom następujące rozszerzenie PHPUnit_Extensions_Selenium2TestCase.

Odpowiedz

12

jest stosunkowo prosta.

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

Powinno to wybrać opcję selectbox na podstawie wartości. Korzystanie PHPUnit selen 2 v1.3.3

0

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

2

znalazłem potrzebnej do przekształcenia PHPUnit_Extensions_Selenium2TestCase_Element Do PHPUnit_Extensions_Selenium2TestCase_Element_Select:

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

zobaczyć także ten other question

-1

Można spróbować z

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

Aby wybrać za pomocą wykorzystania wartości

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

Aby wybrać za pomocą użyć etykieta

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