2013-07-16 2 views
0

Codeception에 다중 선택 상자를 사용할 수 있습니까?codeception 및 laravel에서 multiselect를 사용하는 방법

내 양식 코드 : 나는 시험에 이런 식으로 뭔가를 시도했습니다

<form accept-charset="utf-8" class="form-vertical" id="solicitor-form" method="POST" action="http://mytest.dev/role"> 
    <select multiple="true" id="optgroup" name="solicitor[]"> 
    <option value="1" selected>Yorkshire</option> 
    <option value="2" selected>Quarry</option> 
    <option value="3" selected>William Hurst</option> 
    </select></div></div>        
    <input class="btn-large btn-success btn" type="submit" value="Update Access"> 
</form> 

:

$i->SeeOptionIsSelected("#solicitor-form", 'Yorkshire'); 
$i->SeeOptionIsSelected("#solicitor-form", 'Quarry'); 

그러나 codeception이 SECOND 선택에 실패합니다. 그래서 나는이 시도 :

$i->SeeOptionIsSelected('#solicitor-form select[name=solicitor[]]', 'Yorkshire'); 
$i->SeeOptionIsSelected('#solicitor-form select[name=solicitor[]]', 'Quarry'); 

을하지만 그것이 패턴 일치 자체를 여행 특히 [] 때문에, 제대로 solicitor[]를 해결하는 것 같지 않습니다.

편집 :

$i->selectOption('optgroup',array('Quarry', 'Yorkshire')); 

하지만이 테스트 실행 출력 : 올바른 결과를 반환하지 않습니다

* I select option "optgroup","lambda function" 

은 그것은 "람다 함수"것을 나는 Daverts는 다음과 같이 대답 시도 ?

+0

람다 함수는 단순히 익명의 함수를 의미하며, array ('Quarry', 'Yorksh ire ')가있다. 코드가 제대로 작동합니까? 또한, 나는 이것이 selectOption() 함수가 아닌 seeOptionIsSelected() 함수에 관한 것이라고 생각했다. – Tro

+0

기본적으로 Davert가 게시 한 코드는 작동하지 않습니다. 아무 것도 선택하지 않고 테스트가 실패합니다 ... – Laurence

+0

테스트가 실제로 실패합니까? HTML에서는 이미 선택되어있는 것처럼 보이며,'selectOption()'을 사용하여 다시 선택하려고하면 건너 뜁니다. – Tro

답변

2

죄송합니다. 이 기능이 문서화되지 않은 것 같습니다. 죄송합니다. 1.6.3이 출시되었을 때 문서를 업데이트하는 것을 완전히 잊었습니다.

두 번째 매개 변수로 여러 옵션을 전달하여 여러 옵션을 선택할 수 있습니다.

$I->amOnPage('/form/select_multiple'); 
    $I->selectOption('What do you like the most?',array('Play Video Games', 'Have Sex')); 
    $I->click('Submit'); 

감사합니다. 조만간 참조 정보를 업데이트하겠습니다.

<select multiple="true" class="span h300" id="products[]" name="products[]">...</select> 

내가 수행 할 때 :

$I->selectOption('Products', array('value', 'someOtherValue')); 

나는거야

+0

덕트에게 감사합니다 - 가까운 것처럼 보이지만 버그/오류가 있습니다. 나는 내 질문을 편집했다. Codecept.phar 버전 1.6.3.1을 실행하고 있습니다. – Laurence

2

버그 내가 예를 들어 나는이 선택을 가지고, 내 응용 프로그램에서 볼 수 있듯이까지 정확히 [] 함께 당신이하는 것과 같은 오류가 발생합니다.

당신이 볼 수 있듯이, .span과 .h300을 사용했기 때문에 .h300 선택기는 그 페이지에서 유일하고 테스트가 완벽하게 작동합니다. 값은 db에 있고 검증은 예상대로 작동합니다. ..

그래서입니다 작동 나의 선택을 정리해 :이 문제에

$I->selectOption('.h300', array('value', 'someOtherValue')); 

그냥 내 2 센트, []와 문제의 원인을 조사하기 위해 지금 시간이 충분하지 않습니다 ..

관련 문제