PHPUnit Selenium 拡張機能を使用して、PHP で Selenium テストを作成しています。
テキストフィールドに何かを入力する方法を知っています:
$this->type('fieldName', 'value');
しかし、ドロップダウン メニューからオプションを選択するにはどうすればよいでしょうか。
PHPUnit Selenium 拡張機能を使用して、PHP で Selenium テストを作成しています。
テキストフィールドに何かを入力する方法を知っています:
$this->type('fieldName', 'value');
しかし、ドロップダウン メニューからオプションを選択するにはどうすればよいでしょうか。
他の (正確な) 回答を拡張するには、オプションのラベル、値、ID、またはインデックスに基づいて選択できます。http://release.seleniumhq.org/selenium-core/1.0/reference.htmlで入手可能な公式リファレンスから:
select(selectLocator, optionLocator)
引数:
- selectLocator - ドロップダウン メニューを識別する要素ロケータ
- optionLocator - オプションロケータ (デフォルトではラベル)
オプション ロケーターを使用して、ドロップダウンからオプションを選択します。
オプション ロケータは、HTML Select 要素のオプションを指定するさまざまな方法を提供します (たとえば、特定のオプションを選択するため、または選択したオプションが仕様を満たすことをアサートするため)。Select Option Locator にはいくつかの形式があります。
- label = labelPattern : ラベル、つまり可視テキストに基づいてオプションに一致します。(これがデフォルトです。)
- label=regexp:^[Oo]ther
- value = valuePattern : 値に基づいてオプションを照合します。
- 値=その他
- id = id : ID に基づいてオプションを照合します。
- ID=オプション1
- index = index : インデックス (ゼロからのオフセット) に基づいてオプションに一致します。
- インデックス=2
オプション ロケータ プレフィックスが指定されていない場合、デフォルトの動作はラベルで一致することです。
$this->select("selectFieldIdentifier", "label=Option label");
//note that it's the option text not value
$this->select('selectName', 'LabelText');