2017-05-07 2 views
0

私はSeleniumとbehat minkで初めて作業しています。私は、次のコードを持っている:behold 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'); 

を使用する てみNodeElementクラス

からすべてのメソッドにLINKですところで、あなたを助けることができるガーキン方法がすでにありますあなたのケースで I select "([^"]|\"*)" from "([^"]|\"*)"

I select "Take Out" from "category" 
です

既に利用可能なGherkinメソッドのLISTはここにあります。

+0

私は 'value | text" 1 "が見つかりませんでした。 (Behat \ Mink \ Exception \ ElementNotFoundException)なぜ分かりますか?テキスト「Take Out」を提供しましたが、それはなぜそれを第1位に評価しますか? – John

+0

テキストを "Take Out blahblah"に変更すると、 'select option with value | text" Take Out blahblah "というエラーが表示されます。 (Behat \ Mink \ Exception \ ElementNotFoundException) 'を実行します。 Take Outが数字1を報告するのは変だけど、Take Out blahblahのレポートはblahblahを取り除く。 – John

+0

thats strange..what "Fast Food"のオプションを設定しようとすると?あなたはすべてのhtmlの要素を貼り付けてください –

関連する問題