6

PHPUnit Selenium 拡張機能を使用して、PHP で Selenium テストを作成しています。

テキストフィールドに何かを入力する方法を知っています:

$this->type('fieldName', 'value');

しかし、ドロップダウン メニューからオプションを選択するにはどうすればよいでしょうか。

4

3 に答える 3

12

他の (正確な) 回答を拡張するには、オプションのラベル、値、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

オプション ロケータ プレフィックスが指定されていない場合、デフォルトの動作はラベルで一致することです。

于 2010-05-12T16:48:05.593 に答える
2
 $this->select("selectFieldIdentifier", "label=Option label");
于 2010-05-12T15:58:34.857 に答える
2
//note that it's the option text not value
$this->select('selectName', 'LabelText');
于 2010-05-12T15:18:12.007 に答える