Khi viết kiểm tra chức năng, làm cách nào tôi có thể đặt giá trị của hộp chọn nếu tôi chỉ có nhãn của tùy chọn Tôi muốn, nhưng không phải là giá trị thực tế?Đặt giá trị của trường chọn chỉ sử dụng nhãn của tùy chọn, không phải giá trị trực tiếp, khi viết kiểm tra chức năng trong Symfony2
6
A
Trả lời
13
Tôi không chắc tôi có chính xác những gì bạn cần, tôi giả sử bạn có một hình thức như thế này
<form action="..." method="post">
...
<select id="my_form_category" name="my_form[category]">
<option value="1">category1</option>
<option value="2">category2</option>
<option value="3">category3</option>
</select>
...
<button type="submit">Edit</button>
</form>
và bạn muốn chọn category2
. Ngay cả khi bạn không biết giá trị tùy chọn, bạn có thể sử dụng trình thu thập thông tin để trích xuất nó
$client = static::createClient();
// go to form
$crawler = $client->request('GET', '...');
$value = $crawler->filter('#my_form_category option:contains("category2")')->attr('value');
$form = $crawler->selectButton('Edit')->form();
$form['my_form[category]']->select($value);
// ... set other values
$client->submit($form);