Ruby (Selenium フレームワーク) で自動テストを書いていますが、ドロップダウン リストからオプションを選択する方法を知る必要があります。
前もって感謝します!
floehopperの答えに基づいて構築:
selenium.addSelection(locator, value)
or
selenium.select(locator, value)
locator
他の CSS セレクターも機能しますが、 ほぼ確実に "id=my_select_box_id" (引用符付き) が必要です。value
選択する のリテラル テキスト値 (表示値ではない) ですoption
。
機能テストとは別に、実際のアプリのように動作するものを探している場合は、WebRatをご覧ください。AJAX化されていない統合テストの場合、DOMを選択し、それらに対して適切なアクションを実行するための非常に優れたDSLがあります。(リンククリックフォーム入力など)。
一方、アプリが受け入れテストを実行したいだけの外部Webアプリである場合は、SelenimumまたはWatirを確認することもできます。
WeRatはWebフレームワークに大きく基づいているため、SelenimumとWatirはブラウザを使用してWebアプリを直接操作します(実際のユーザーのように)。
これを行う最も簡単な方法:select(selectLocator,optionLocator)
上記のように。
selectLocator
:ドロップダウンオブジェクトの
optionLocator
名前またはxpath:選択するドロップダウンオプションの名前またはxpath
例えば
@selenium.select "Language", "label=Ruby"
ここで機能テストを書いているようです。それを選択しても、それ自体ではあまり効果がありません。コントローラーをテストするには、フォームを送信する必要があります。:) 選択できるフレームワークがいくつかあるため、使用しているテスト フレームワークを知ることは、回答者に役立つ場合があります。RSpec を使用している場合は、このスクリーンキャスト を確認してください。
とにかく役立つことを願っています。