6

在编写功能测试时,如果我只有我想要的选项的标签,而没有实际值,如何设置选择框的值?

4

1 回答 1

14

我不确定我是否得到了你所需要的,我想你有这样的表格

<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>

并且您要选择category2. 即使您不知道选项值,您也可以使用爬虫来提取它

$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);
于 2012-09-15T01:21:01.093 回答