2014-09-05 1 views
1

단위 테스트에서 선택 옵션 값 목록을 얻고 싶습니다.symfony domcrawler를 사용하여 선택 옵션 값 목록 가져 오기

내 페이지 나에게 세부 사항을 제공하는 드롭 다운 목록 내 단위 테스트에서

<form name='myform'> 
    <select id='list' name='formvalues[list]'> 
    <option value='1'>Option 1</option> 
    <option value='2'>Option 2</option> 
    </select> 
</form> 

와 형태,

$client = static::createClient();  
    $crawler = $client->request('GET', 'http://my.testapp.com/'); 

    // Try 1 
    $form1 = $crawler->selectButton('web_advert_search[search]')->form(); 
    // Try 2 
    // $form2 = $crawler->filter('#web_advert_search_search'); 

    // I want something liks this 
    $values = $form['formvalues[list]']->availableOptionValues(); 

form2-> HTML()와 form2-> 텍스트를() 포함 양식 버튼.

답변

1

나는 되돌아 오는 요소들을 점진적으로 가로 지르면서 이것을 해결할 수 있었다.

$client = static::createClient(); 
$crawler = $client->request('GET', 'http://my.testapp.com/'); 
$response = $client->getResponse(); 

// web_advert_search[search] is the NAME of the submit button for the form. 
$searchForm = $crawler->selectButton('web_advert_search[search]')->form(); 
$searchFormCategorySelect = $searchForm['web_advert_search']['category']; 
$searchFormCategoryOptions = $searchFormCategorySelect->availableOptionValues(); 
$this->assertEquals(10, count($searchFormCategoryOptions)); 
관련 문제