2012-09-13 25 views
6

में एक कार्यात्मक परीक्षण लिखते समय, इसका प्रत्यक्ष मूल्य नहीं, केवल विकल्प के लेबल का उपयोग करके एक चुनिंदा फ़ील्ड का मान सेट करना, कार्यात्मक परीक्षण लिखते समय, मैं एक विकल्प बॉक्स का मूल्य कैसे सेट कर सकता हूं यदि मेरे पास केवल विकल्प का लेबल है मैं चाहता हूं, लेकिन वास्तविक मूल्य नहीं?सिम्फनी 2

उत्तर

13

मुझे यकीन है कि मुझे मिल गया आप वास्तव में क्या जरूरत है नहीं कर रहा हूँ, मैं तुम्हें इस

<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); 
निकालने के लिए कर सकते हैं