2017-05-07 24 views
0

我正在與Selenium和behat水貂首次合作。我有以下代碼:behat mink相當於dropdown-> selectOptionByText()?

$category_dropdown = $this->find('xpath', "//select[@name=\"category\"]"); 
echo $category_dropdown->getHtml(); 
$category->selectOptionByText('Take Out); 

,輸出是:

<option value="183">Fast Food</option> 
<option value="186">Take Out</option> 
PHP Fatal error: Call to undefined method Behat\Mink\Element\NodeElement::selectOptionByText() 

因爲函數selectOptionByText實際上並不存在$category->selectOptionByText('Take Out');導致錯誤的行。是否有另一種方法來達到預期的行爲?

我對這一切都很陌生,所以我仍然試圖找出這個框架的在線文檔。

回答

1

你被關閉... 嘗試使用

$category->selectOption('Take Out'); 

這裏是LINK所有從NodeElement類

順便說一句方法已經有小黃瓜的方法,可以幫助你 I select "([^"]|\"*)" from "([^"]|\"*)" 而你的情況是

I select "Take Out" from "category" 

這裏是LIST已經可用的小黃瓜方法

+0

我得到'選擇與價值|文本「1」選項未找到。 (Behat \ Mink \ Exception \ ElementNotFoundException)'你知道爲什麼嗎?我提供了文字「取出」,但爲什麼它評估數字1? – John

+0

如果我將文本更改爲「取出blahblah」,那麼我會收到錯誤「select option with value | text」取出blahblah「找不到。 (貝哈特\水貂\異常\ ElementNotFoundException)'。這是奇怪的,拿出報告數字1,但取出blahblah報告取出blahblah ... – John

+0

這就是奇怪的..如果嘗試設置選項「快餐」?你可以粘貼所有的HTML select元素 –

相關問題