Selenium2Library for Robot Framework¶
Library-version: | |
---|---|
1.7.4 |
注釈
このドキュメントは、 Selenium2Library のドキュメント を和訳したものです。
オリジナルのドキュメントでは、スクリプトは状況に応じてタブ区切り (TSV) またはパイプ区切り (PSV) で記述されています。 このドキュメントでは、可能な限りプレーンテキスト・スペース 2 個の区切りで記述しています。 RobotFramework がサポートする書式については、 Robot Framework のユーザガイド を参照してください。
はじめに¶
Selenium2Library は、 Robot Framework 用の Web テストライブラリです。
このライブラリは内部で Selenium 2 (WebDriver) ライブラリを使って Web ブラウザを操作します。Selenium2 と WebDriver については http://seleniumhq.org/docs/03_webdriver.html を参照してください。
テストを実行する前に¶
Selenium2Library ベースのテストケースを実行するには、あらかじめ Selenium2Library を Robot のテストスイートに組み込んでおきます。また、ブラウザを開くには、 Open Browser キーワードを使います。
エレメントの探索と指定¶
Selenium2Library のキーワードのうち、ページ上のエレメントを検索する必要があるものは、全て locator
または webelement
という引数をとります。locator
には、エレメントの場所を指定するための文字列を指定します。指定方法は種々あります。
webelement
には、特定のエレメントを表す WebElement
インスタンスの入った変数を指定します。
locator
の使い方¶
デフォルトの動作では、 locator
を指定した場合、特定のエレメントタイプのキーアトリビュートに対してマッチングしてエレメントを特定します。例えば、 id
や name
は全てのエレメントのキーアトリビュートであり、 locator
を簡単に指定するには id
だけを使います。
Click Element my_element
ロケータの文字列にプレフィクスをつけると、 Selenium2Library が locator
を使ってエレメントを探索するときの方法(ロケーションストラテジ)を指定できます。サポートしているストラテジは以下です:
ストラテジ | 記述例 | 説明 |
---|---|---|
identifier |
Click Element identifier=my_element |
@id または @name 属性を指定 |
id |
Click Element id=my_element |
@id 属性の指定 |
name |
Click Element name=my_element |
@name 属性の指定 |
xpath |
Click Element xpath=//div[@id='my_element'] |
任意の XPath 式 |
dom |
Click Element dom=document.images[56] |
任意の DOM 式 |
link |
Click Element link=My Link |
<a> 要素のリンクテキスト |
partial link |
Click Element partial link=My Link |
<a> 要素のリンクテキスト(部分一致) |
css |
Click Element css=div.my_class |
CSS セレクタ |
jquery |
Click Element jquery=div.my_class |
jQuery/sizzle セレクタ |
sizzle |
Click Element sizzle=div.my_class |
jQuery/sizzle セレクタ |
tag |
Click Element tag=div |
HTMLタグ名 |
default [1] |
Click Link default=page?a=b |
タグ中の最初のキー属性の値が一致するもの |
[1] | default ストラテジが必要なのは、キー属性を使ったマッチングが必要で、
かつその属性の値に Click Link page?a=b
このような場合に、 default ストラテジを使います: Click Link default=page?a=b
|
webelements
の使い方¶
Selenium2Library バージョン 1.7 から、ロケータの代わりに WebElement で指定できるようになりました。WebElement を指定するには、まず Get WebElements キーワードを使って取得します:
${elem} = Get WebElement id=my_element
Click Element ${elem}
テーブル、行、列などの指定方法¶
Table Should Contain
キーワードのように、テーブルに関係するキーワードは、一風変わった動作をします。デフォルトの動作では、テーブルのロケータが指定されていると、id 属性が一致するテーブルを探します:
Table Should Contain my_table text
この他に、より複雑なテーブル検索ストラテジもサポートしています:
ストラテジ | 記述例 | 説明 |
---|---|---|
css |
Table Should Contain css=table.my_class text |
@id または @name 属性でマッチ |
xpath |
Table Should Contain xpath=//table/[@name="my_table"] text |
@id または @name 属性でマッチ |
ロケータストラテジを自作する¶
組み込みのロケータよりも複雑な検索を実行する必要がある場合は、ロケータストラテジを自作できます。
カスタムロケータを使うには、二つのステップが必要です。まず、 Custom Locator Strategy
という名前で、 WebElement を返すようなキーワードを定義します:
Custom Locator Strategy
[Arguments] ${browser} ${criteria} ${tag} ${constraints}
[Documentation] getElementById() を使ってエレメントを探す
${retval} = Execute Javascript return window.document.getElementById("${criteria}");
[Return] ${retval}
上のキーワード定義は、 id を使ったロケータの再実装です。${browser} には WebDriver インスタンスへの参照が、 ${criteria} にはロケータに指定した文字列 (=
の後に指定した文字列全体) が入ります。
定義したロケータを使うには、 Add Location Strategy を使います。
Add Location Strategy custom Custom Locator Strategy
Add Location Strategy の最初の引数には、このストラテジを使う時の名前を (ストラテジ間で重複しないように) 指定します。ストラテジを登録できたら、使い方は他のロケータと同じです。Add Location Strategy のセクションも参照してください。
タイムアウトの設定¶
Wait...
で始まるキーワードで、引数に timeout
を取るものがあります。timeout
の指定は省略でき、省略した際のタイムアウト値は、 Set Selenium Timeout でグローバルに設定した値に従います。timeout
は、 Execute Async Javascript でも使います。
タイムアウトの値は、秒数を表す数値 (0.5
, 42
など) か、Robot Framework での時間の表記法 (1.5 seconds
, 1 min 30 s
) で指定できます。後者の表記法の詳細は http://robotframework.googlecode.com/svn/trunk/doc/userguide/RobotFrameworkUserGuide.html#time-format を参照してください。
Selenium2Library のインポート引数¶
Library Selenium2Library
でライブラリをインポートするとき、引数を指定できます。
Library Selenium2Library¶
Arguments: | imeout=5.0, implicit_wait=0.0, run_on_failure=Capture Page Screenshot, screenshot_root_directory=None |
---|
timeout
はデフォルトのタイムアウト値です。この値は Selenium2Library が待機処理するときのタイムアウト値を一括で設定します。Set Selenium Timeout でも設定できます。
implicit wait
は Selenium がエレメントを探す際の暗黙のタイムアウト (implicit wait) 値です。 Set Selenium Implicit Wait でも指定できます。WebDriver の implicit wait 値について詳しく知りたければ、 SeleniumHQ のドキュメントで WebDriver: Advanced Usage セクションを参照してください。
run_on_failure
には、テスト中に Selenium2Library のキーワードの実行が失敗したときに呼び出されるキーワードを指定します (インポート済みで使えるキーワードを指定できます)。デフォルトの設定では、 Capture Page Screenshot を使って当該ページのスクリーンショットを保存します。Nothing
を指定すれば、この機能を無効にできます。Register Keyword To Run On Failure も参照してください。
screenshot_root_directory
には、スクリーンショットの保存先ディレクトリを指定します。指定がなければ、Robot Framework がログファイルを置く場所と同じになります。
使用例:
# デフォルトタイムアウトを15秒にする
Library Selenium2Library 15
# デフォルトタイムアウトは0秒で、 ``implicit_wait`` は5秒
Library Selenium2Library 0 5
# タイムアウトを5秒にして、失敗したら ``Log Source`` を呼び出す
Library Selenium2Library 5 run_on_failure=Log Source
# ``implicit_wait`` を5秒にし、失敗したら ``Log Source`` を呼び出す
Library Selenium2Library implicit_wait=5 run_on_failure=Log Source
# タイムアウト10秒、失敗しても何もしない
Library Selenium2Library timeout=10 run_on_failure=Nothing
組み込みキーワード¶
Add Cookie¶
Arguments: | name, value, path=None, domain=None, secure=None, expiry=None |
---|
現在のセッションに cookie を追加します。name
と value
は必須です。
path
, domain
, secure
は省略可です。
Add Location Strategy¶
Arguments: | strategy_name, strategy_keyword, persist=False |
---|
キーワードセクションに定義しておいたカスタムのロケーションストラテジを追加します。 デフォルトの動作では、カスタムのロケーションストラテジは、ストラテジを定義したテストのスコープを抜ける際に自動的に除去されます。 persist を空文字列以外に設定しておくと、テスト全体が終了するまでロケーションストラテジを登録したままにできます。
すでに登録済みのロケーションストラテジ名と同じ名前で追加を試みると失敗します。
カスタムのロケータキーワードの例:
# My Custom Locator Strategy を(キーワードセクションで)定義する
My Custom Locator Strategy [Arguments] ${browser} ${criteria} ${tag} ${constraints}
${retVal}= Execute Javascript return window.document.getElementById('${criteria}');
[Return] ${retVal}
# My Custom Locator Strategy をストラテジ名 custom として登録する
Add Location Strategy custom My Custom Locator Strategy
# custom ストラテジのロケータを使う
Page Should Contain Element custom=my_id
カスタムのロケーションストラテジを削除する方法は Remove Location Strategy を参照してください。
Alert Should Be Present¶
Arguments: | text= |
---|
アラートダイアログが表示されていることを確認し、ダイアログを消します。
text
を空文字列以外に指定すると、アラートメッセージの内容がテキストと一致するか調べます。
アラートが表示されていなければ失敗します。
テスト中でアラートダイアログが表示されると、このキーワードか Get Alert Message でアラートダイアログを消さないかぎり、後続のキーワードは失敗するので注意してください。
Assign Id To Element¶
Arguments: | locator, id |
---|
locator
で指定したエレメントに、一時的な id 名 id
を紐付けます。
XPathでロケータを表現するのが難解だったり遅い場合に便利です。紐付けた id はページをリロードすると失効します。
例:
# XPath://div[@id="first_div"] で表されるエレメントに my_id という id を与える
Assign Id To Element xpath=//div[@id="first_div"] my_id
# my_id でエレメントを指定
Page Should Contain Element my_id
Capture Page Screenshot¶
Arguments: | filename=None |
---|
現在表示中のページのスクリーンショットを撮り、ログの中に埋め込みます。
filename
引数には、スクリーンショットのファイルに付ける名前を指定します。filename
を指定しない場合、ファイル名は selenium-screenshot-<通番>.png
となり、Robot Framework がログを書き出す場所の下に保存されます。
filename
を絶対パスで指定しなかった場合は、Robot Framework がログを書き出す場所からの相対パスとみなします。
絶対パス・相対パスのどちらの場合も、書き出し先のディレクトリが存在しなければ自動的に作成します。
スクリーンショットの撮り方を変えるために、css を使えます。通常、ページレイアウトに何か問題があると、背景がはみ出して表示されることがあるので、背景色を変更します。
Checkbox Should Be Selected¶
Arguments: | locator |
---|
locator
で指定したチェックボックスが選択/チェック状態であるか検証します。
チェックボックスのキー属性は id
または name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Checkbox Should Not Be Selected¶
Arguments: | locator |
---|
locator
で指定したチェックボックスが非選択/チェックされていない状態であるか検証します。
チェックボックスのキー属性は id
または name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Choose Cancel On Next Confirmation¶
ダイアログが表示されたときにキャンセルボタンを選ぶように指定します。
Choose File¶
Arguments: | locator, file_path |
---|
locator
で指定したファイル入力フィールドにファイルパス file_path
を入力します。
ファイルのアップロードフォームでよく使います。
file_path
はSelenium Server が稼働しているホストからアクセス可能でなければなりません。
例:
Choose File my_upload_field /home/user/files/trades.csv
Choose Ok On Next Confirmation¶
Choose Cancel On Next Confirmation
の効果を打ち消します。
次の確認パネルが出たときに
Selenium は window.confirm() の動作をオーバライドすることで、自動的に true を返させ、ユーザが手作業で OK ボタンをクリックしたかのように見せかけるので、特に理由がないかぎり、このキーワードをわざわざ使う必要はありません。
確認ダイアログを処理するたびに、Selenium はデフォルトの動作に復帰します。そのため、都度 Choose Cancel On Next Confirmation
を使わないかぎり、次のダイアログでは自動的に true (OKを押した) を返します。
確認ダイアログが出る度に、 Get Alert Message
などでダイアログを処理しないと、それ以降の操作は全て失敗するので注意してください。
Clear Element Text¶
Arguments: | locator |
---|
locator
で指定したテキスト入力エレメントの値を消去します。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Click Button¶
Arguments: | locator |
---|
locator
で指定したボタンをクリックします。
キー属性は id
, name
, value
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Click Element¶
Arguments: | locator |
---|
locator
で指定したエレメントをクリックします。
キー属性は id
, name
, value
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Click Element At Coordinates¶
Arguments: | locator, xoffset, yoffset |
---|
locator
で指定したエレメントから、 xoffset, yoffset
移動した場所をクリックします。カーソルがエレメントの中心に移動し、x, y はそこからの相対で計算します。
キー属性は id
, name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Click Image¶
Arguments: | locator |
---|
locator
で指定した画像をクリックします。
キー属性は id
, src
, alt
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Click Link¶
Arguments: | locator |
---|
locator
で指定したリンクをクリックします。
キー属性は id
, name
, href
, リンクテキストです。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Close All Browsers¶
開いている全てのブラウザを閉じ、ブラウザキャッシュをリセットします。
このキーワードを使うと、 Open Browser
キーワードを呼び出すごとに返されていた
ブラウザウィンドウのインデクスがリセットされます。
テストやスイートの後始末 (teardown) の際には、このキーワードで全てのブラウザを閉じねばなりません。
Close Browser¶
現在のブラウザを閉じます。
Confirm Action¶
現在表示されている確認ダイアログを閉じ、表示されていたメッセージを返します。
デフォルトの動作では、このキーワードを使った際、ダイアログは「OK」ボタンで閉じられます。
「キャンセル」ボタンを押す必要がある場合は、事前に Cancel On Next Confirmation
を呼び出しておき、ダイアログが出たときに自動的にキャンセルボタンが押されるようにしておいてください。
例:
# 確認ダイアログを表示する
Click Button Send
# Ok ボタンが押され、メッセージが返る
${message}= Confirm Action
# 表示されたメッセージが "Are you sure?" だったかどうか確認する
Should Be Equal ${message} Are you sure?
# 次のダイアログではキャンセルを押す
Choose Cancel On Next Confirmation
# 確認ダイアログを表示する
Click Button Send
# キャンセルが押される
Confirm Action
Create Webdriver¶
Arguments: | driver_name, alias=None, kwargs={}, **init_kwargs |
---|
WebDriver のインスタンスを生成します。
Open Browser
と動作が似ていますが、 WebDriver の __init__
に引数を渡せる点が異なります。
どちらも使える時は、 Create Webdriver
より Open Browser
を使うほうが適切です。
生成したブラウザインスタンスのインデクスを返します。このインデクスは、あとでウィンドウを切り替えるのに使えます。
インデクスは 1 からはじまり、 Close All Browsers
キーワードを使うとリセットされます。
Switch Browser の例を参照してください。
driver_name
には、 selenium.webdriver で定義されている WebDriver の名前をそのまま指定します。
使える WebDriver 名は、例えば Firefox, Chrome, Ie, Opera, Safari, PhantomJS, Remoto です。
キーワード引数 init_kwargs
には WebDriver の __init__
に渡す引数を指定します。この引数の中の値や式は、 WebDriver インスタンスの __init__
が呼び出されるときまで評価されません。バージョン 2.8 以前の Robot Framework では init_kwargs
がサポートされていないので、キーワード引数は全て辞書に入れて kwargs
で渡す必要があります。
指定できるキーワード引数は Selenium API ドキュメント を参照してください。
例:
# プロキシを指定して Firefox インスタンスを生成する
${proxy}= Evaluate sys.modules['selenium.webdriver'].Proxy() sys, selenium.webdriver
${proxy.http_proxy}= Set Variable localhost:8888
Create Webdriver Firefox proxy=${proxy}
# プロキシを指定して PhantomJS インスタンスを生成する
${service args}= Create List --proxy=192.168.132.104:8888
Create Webdriver PhantomJS service_args=${service args}
Example for Robot Framework < 2.8:
# IE ドライバをデバッグモードで生成する
${kwargs}= Create Dictionary log_level=DEBUG log_file=%{HOMEPATH}${/}ie.log
Create Webdriver Ie kwargs=${kwargs}
Current Frame Contains¶
Arguments: | text, loglevel=INFO |
---|
現在のフレームに text
が含まれているか検証します。
loglevel
の説明は Page Should Contain を参照してください。
Current Frame Should Not Contain¶
Arguments: | text, loglevel=INFO |
---|
現在のフレームに text
が含まれていないことを検証します。
loglevel
の説明は Page Should Contain を参照してください。
Delete All Cookies¶
クッキーを全て除去します。
Dismiss Alert¶
Arguments: | accept=True |
---|
アラートダイアログで OK したときに true, ダイアログを消したときに false を返します。 アラートが出ていない状態でこのキーワードを使うと失敗します。 このキーワードが失敗すると、それ以降のテストは Get Alert Message などでアラートダイアログを閉じないかぎり失敗します。
Double Click Element¶
Arguments: | locator |
---|
locator
で指定したエレメントをダブルクリックします。
キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Drag And Drop¶
Arguments: | source, target |
---|
source
で指定したエレメントを、 target
で指定したエレメントまでドラッグして移動し、ドロップします。
例:
# elem1 を elem2 に動かす
Drag And Drop elem1 elem2
Drag And Drop By Offset¶
Arguments: | source, xoffset, yoffset |
---|
source
で指定したエレメントを xoffset
, yoffset
の距離だけ移動します。
xoffset
, yoffset
は正負どちらの値もとりえます。
例:
# myElem を 50px 右, 35px 下に動かす
Drag And Drop By Offset myElem 50 -35
Element Should Be Disabled¶
Arguments: | locator |
---|
locator
で指定したエレメントが使用不可 (disabled) であるか検証します。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Element Should Be Enabled¶
Arguments: | locator |
---|
locator
で指定したエレメントが使用可 (enabled) であるか検証します。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Element Should Be Visible¶
Arguments: | locator, message= |
---|
locator
で指定したエレメントが可視 (visible) であるか検証します。
ここでいう 「可視」とは、「論理的に可視である」ということで、「ブラウザのビューポート上に表示されている」ではありません。
例えば、 display:none
のエレメントは論理的には不可視なので、このキーワードで検証すると失敗します。
message
は、デフォルトのエラーメッセージをオーバライドしたいときに使います。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Element Should Contain¶
Arguments: | locator, expected, message= |
---|
locator
で指定したエレメントがテキスト expected
を含むか検証します。
エレメントのテキストが厳密に一致する (部分文字列の一致ではない) か検証したければ、 Element Text Should Be を使ってください。
message
は、デフォルトのエラーメッセージをオーバライドしたいときに使います。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Element Should Not Be Visible¶
Arguments: | locator, message= |
---|
locator
で指定したエレメントが可視 (visible) で ない ことを検証します。
このキーワードは、 Element Should Be Visible の対極です。
message
は、デフォルトのエラーメッセージをオーバライドしたいときに使います。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Element Should Not Contain¶
Arguments: | locator, expected, message= |
---|
locator
で指定したエレメントがテキスト expected
を含まないことを検証します。
message
は、デフォルトのエラーメッセージをオーバライドしたいときに使います。
キー属性は id
と name
です。 Element Should Contain も参照してください。
Element Text Should Be¶
Arguments: | locator, expected, message= |
---|
locator
で指定したエレメントが exactly テキスト expected
を含むか検証します。
Element Should Contain と違って、このキーワードは部分一致ではなく完全一致かどうかを検証します。
message
は、デフォルトのエラーメッセージをオーバライドしたいときに使います。
キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Execute Async Javascript¶
Arguments: | *code |
---|
JavaScript コードを非同期に実行します。
複数行のコードを書きたい時は、各行をテストデータのセルに分けて書けます。この場合、実行時には各行をスペースを付加せずに結合してコードを生成し、実行します。
code
がファイルの絶対パスになっている場合、ファイルから JavaScript コードを読み出します。パスの区切りは、どのOSでも /
を使います。
JavaScript のコードは、現在選択されているフレームやウィンドウの上で、無名関数の中身として実行されます。
Execute Javascript と似ていますが、このキーワードを使って実行したスクリプトは、コールバック関数 callback
を使って、実行が終了したことを明にシグナルせねばなりません。
コールバックは、無名関数の最後の引数としてインジェクションされます。
スクリプトがタイムアウトまでに処理を終了できなければ、このキーワードは失敗します。 タイムアウト も参照してください。
例:
# ワンライナーで指定
Execute Async JavaScript var callback = arguments[arguments.length - 1]; window.setTimeout(callback, 2000);
# スクリプトファイルで指定
Execute Async JavaScript ${CURDIR}/async_js_to_execute.js
# 直接定義する
${retval}= Execute Async JavaScript
... var callback = arguments[arguments.length - 1];
... function answer(){callback("text");};
... window.setTimeout(answer, 2000);
Should Be Equal ${retval} text
Execute Javascript¶
Arguments: | *code |
---|
JavaScript コードを実行します。
複数行のコードを書きたい時は、各行をテストデータのセルに分けて書けます。この場合、実行時には各行をスペースを付加せずに結合してコードを生成し、実行します。
code
がファイルの絶対パスになっている場合、ファイルから JavaScript コードを読み出します。パスの区切りは、どのOSでも /
を使います。
JavaScript のコードは、現在選択されているフレームやウィンドウの上で、無名関数の中身として実行されます。
現在のウィンドウを参照するために変数 window
、ドキュメントを参照するために document
を使えます (例: document.getElementById('foo')
)。
このキーワードは、 JavaScript 中に return
文がない場合には None
を返します。戻り値は適切な Python のデータ型や WebElements 型に変換されます。
例:
Execute JavaScript window.my_js_function('arg1', 'arg2')
Execute JavaScript ${CURDIR}/js_to_execute.js
${sum}= Execute JavaScript return 1 + 1;
Should Be Equal ${sum} ${2}
Frame Should Contain¶
Arguments: | locator, text, loglevel=INFO |
---|
locator
で指定したフレームが text
を含むか検証します。
loglevel
の説明は Page Should Contain を参照してください。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Get Alert Message¶
Arguments: | dismiss=True |
---|
現在表示されている JavaScript アラートのメッセージ本文を返します。 デフォルトの動作では、表示されたアラートダイアログは OK で閉じられます。 このキーワードは、アラートが表示されていなければ失敗になります。 アラートが出ている時、このキーワードなどでダイアログを閉じないと、以降のテストが失敗になるので注意してください。
Get All Links¶
現在のページに表示されている全てのリンクの id の入ったリストを返します。 リンクタグに id が入っていなければ、リスト中には空文字列が入ります。
Get Cookies¶
現在のページの全てのクッキーを返します。
Get Element Attribute¶
Arguments: | attribute_locator |
---|
エレメントの属性の値を返します。
attribute_locator
の形式は、 element_id@class
のように、ロケータの後に @
と属性名をつけたものです。
Get Horizontal Position¶
Arguments: | locator |
---|
locator
で指定したエレメントの水平位置を返します。
値はページの左端からの距離で、ピクセル単位の整数です。
エレメントが存在しなければ失敗します。
Get List Items¶
Arguments: | locator |
---|
locator
で指定した select リストの全選択肢の値を返します。
リストとコンボボックスのどちらにも使えます。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Get Matching Xpath Count¶
Arguments: | xpath |
---|
xpath
に一致するエレメントの数を返します。
XPath 前提なので、ロケータに xpath=
プレフィクスをつけてはなりません。
# 正しい:
count = Get Matching Xpath Count //div[@id='sales-pop']
# 誤り:
count = Get Matching Xpath Count xpath=//div[@id='sales-pop']
マッチしたエレメントの数を検証したければ、 Xpath Should Match X Times を使ってください。
Get Selected List Label¶
Arguments: | locator |
---|
locator
で指定した選択リストで、現在選択されている要素の表示ラベルを返します。
リストとコンボボックスのどちらにも使えます。
キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Get Selected List Labels¶
Arguments: | locator |
---|
locator
で指定した選択リストで、現在選択されている要素の表示ラベルをリストとして返します。
選択されている要素がないときは失敗します。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Get Selected List Value¶
Arguments: | locator |
---|
locator
で指定した選択リストで、現在選択されている要素の値 (value
) を返します。
戻り値は、選択されているええ面との value
属性の値です。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Get Selected List Values¶
Arguments: | locator |
---|
locator
で指定した選択リストで、現在選択されている要素の値 (value
) をリストとして返します。
選択されている要素がないときは失敗します。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Get Selenium Implicit Wait¶
Selenium が待機する時間の設定値を秒で返します。 値の意味は Set Selenium Implicit Wait を参照してください。
Get Selenium Speed¶
Selenium にコマンドを出したあとに待機する時間を返します。 値の意味は Set Selenium Speed を参照してください。
Get Selenium Timeout¶
様々なキーワードで使われているタイムアウトの長さを秒で返します。 値の意味は Set Selenium Timeout を参照してください。
Get Source¶
現在のページやフレームの HTML ソースを返します。
Get Table Cell¶
Arguments: | table_locator, row, column, loglevel=INFO |
---|
テーブルセルの内容を返します。
row
と column
の番号は、 1 から開始します。ヘッダやフッタの行やカラムも数に入ります。
row
や column
を負の数で指定すると、末尾 (-1) からの行数指定になります。
ヘッダやフッタの行の内容も、このキーワードで取得できます。
テーブルの指定方法は テーブル、行、列などの指定方法 を参照してください。
Get Title¶
現在のページのタイトルを返します。
Get Value¶
Arguments: | locator |
---|
locator
で指定したエレメントの value
属性の値を返します。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Get Vertical Position¶
Arguments: | locator |
---|
locator
で指定したエレメントの垂直方向の位置を返します。
位置は、ページの先頭からの距離をピクセル単位で表した整数です。
エレメントが見つからない時は失敗になります。
Get Webelement¶
Arguments: | locator |
---|
locater
にマッチする WebElement を返します。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Get Webelements¶
Arguments: | locator |
---|
locater
にマッチする WebElement のリストを返します。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Get Window Identifiers¶
ブラウザが把握している全てのウィンドウの id 属性をログに出力して返します。
Get Window Names¶
ブラウザが把握している全てのウィンドウの name 属性をログに出力して返します。
Get Window Titles¶
ブラウザが把握している全てのウィンドウのタイトルをログに出力して返します。
Go Back¶
ブラウザの「戻る」ボタンをユーザがクリックした時の動作をシミュレートします。
Input Password¶
Arguments: | locator, text |
---|
locator
で指定したテキストフィールドに、パスワードをタイプ入力します。
Input Text
キーワードとの違いは、指定したパスワードがログに残らないところです。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Input Text¶
Arguments: | locator, text |
---|
locator
で指定したテキストフィールドに、 text
をタイプ入力します。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
List Selection Should Be¶
Arguments: | locator, *items |
---|
locator
で指定した選択肢リストで選択されている項目が *items
と完全一致するか検証します。
何も選択されていないことを検証したければ、単に *items
の指定をなくしてください。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
List Should Have No Selections¶
Arguments: | locator |
---|
locator
で指定した選択肢リストで何も選択されていないことを検証します。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
List Windows¶
現在の全てのウィンドウハンドルをリストで返します。
Locator Should Match X Times¶
Arguments: | locator, expected_locator_count, message=, loglevel=INFO |
---|
ページ内に locator
で指定したエレメントが expected_locator_count
個あるか検証します。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
Log Location¶
現在の URL をログに記録して返します。
Log Source¶
Arguments: | loglevel=INFO |
---|
現在のページやフレームの HTML ソース全体をログに記録して返します。
loglevel
はログの記録に使うログレベルで、 WARN
, INFO
(デフォルト), DEBUG
, NONE
(ログに記録しない) のいずれかです。
Log Title¶
現在のページのタイトルをログに記録して返します。
Maximize Browser Window¶
現在のブラウザウィンドウを最大化します。
Mouse Down¶
Arguments: | locator |
---|
locator
で指定したエレメントの上でマウスの左ボタンを押下する操作をシミュレートします。
マウスボタンをリリースしない限り、エレメントはプレス状態になります。
キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
特定エレメント向けの Mouse Down On Image や Mouse Down On Link も参照してください。
Mouse Down On Image¶
Arguments: | locator |
---|
画像上でのマウスボタン押下をシミュレートします。
キー属性は id
, src
, alt
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Mouse Down On Link¶
Arguments: | locator |
---|
リンク上でのマウスボタン押下をシミュレートします。
キー属性は id
, name
, href
, リンクテキストです。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Mouse Out¶
Arguments: | locator |
---|
locator
で指定したエレメントからマウスカーソルを外す操作をシミュレートします。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Mouse Over¶
Arguments: | locator |
---|
locator
で指定したエレメントの上にマウスカーソルをホバーする操作をシミュレートします。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Mouse Up¶
Arguments: | locator |
---|
locator
で指定したエレメントで、マウスの左ボタンをリリースする操作をシミュレートします。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Open Browser¶
Arguments: | url, browser=firefox, alias=None, remote_url=False, desired_capabilities=None, ff_profile_dir=None |
---|
新しいブラウザインスタンスを開き、指定の URL に行きます。
生成したブラウザインスタンスのインデクスを返します。このインデクスは、あとでウィンドウを切り替えるのに使えます。
インデクスは 1 からはじまり、 Close All Browsers
キーワードを使うとリセットされます。
Switch Browser の例を参照してください。
オプションの alias
はブラウザインスタンスの別名で、ブラウザを切り替える時に (インデクスで切り替えるのと同じ感覚で) 使えます。詳しくは Switch Browser を参照してください。
browser
に使える値は以下の通りです:
シンボル | ブラウザ |
---|---|
firefox |
FireFox |
ff |
FireFox |
internetexplorer |
Internet Explorer |
ie |
Internet Explorer |
googlechrome |
Google Chrome |
gc |
Google Chrome |
chrome |
Google Chrome |
opera |
Opera |
phantomjs |
PhantomJS |
htmlunit |
HTMLUnit |
htmlunitwithjs |
HTMLUnit (JavaScript サポート) |
android |
Android |
iphone |
Iphone |
safari |
Safari |
Internet Explorer のブラウザインスタンスが複数あると、動作がおかしなことになるので注意してください。
IE ブラウザが一つしか起動していないときだけ、 Switch Browser が動作するのも同じ理由です。
詳しくは http://selenium-grid.seleniumhq.org/faq.html#i_get_some_strange_errors_when_i_run_multiple_internet_explorer_instances_on_the_same_machine を参照してください。
オプションの remote_url
は、 http://127.0.0.1/wd/hub
のような遠隔の Selenium サーバの URL です。
この値を指定する場合、 desired_capabilities
でリモートサーバのケイパビリティを設定できます。
設定は key1:val1,key2:val2
のような文字列形式にします。
このオプションは、 IE でプロキシサーバを指定するときや、 saucelabs.com のようなサービスでブラウザと OS を指定するときに便利です。
desired_capabilities
には (Create Dictionary で作成した) 辞書も指定でき、より複雑なコンフィギュレーションを扱えます。
オプションの ff_profile_dir
は firefox のプロファイルで、デフォルトプロファイルをオーバライドするときに使います。
Page Should Contain¶
Arguments: | text, loglevel=INFO |
---|
現在のページに text
が含まれているか検証します。
このキーワードが失敗すると、自動的にページのソースを loglevel
に指定したログレベルで記録します。
指定できるログレベルは DEBUG
, INFO
(デフォルト), WARN
, NONE
です。
ログレベルに NONE
または現在のログレベルより低いレベルを指定すると、ページソースをログに出力しません。
Page Should Contain Button¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したボタンが含まれているか検証します。
このキーワードは、 <input>
または <button>
タグで作られたボタンを探します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
, name
, value
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Contain Checkbox¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したチェックボックスが含まれているか検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
, name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Contain Element¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したエレメントが含まれているか検証します。
message
はデフォルトのエラーメッセージをオーバライドするのに使います。
message
はデフォルトのエラーメッセージをオーバライドするのに使います。
loglevel
の説明は Page Should Contain を参照してください。
キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Contain Image¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定した画像が含まれているか検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
, src
, alt
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Contain Link¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したリンクが含まれているか検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id`, ``name
, href
, リンクテキストです。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Contain List¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定した選択リストが含まれているか検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性はは id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Contain Radio Button¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したラジオボタンが含まれているか検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
, name
, value
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Contain Textfield¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したテキストフィールドが含まれているか検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Not Contain¶
Arguments: | text, loglevel=INFO |
---|
現在のページに text
が含まれていないことを検証します。
loglevel
の説明は Page Should Contain を参照してください。
Page Should Not Contain Button¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したボタンが含まれていないことを検証します。
このキーワードは <input>
または <button>
タグで作ったボタンを検索します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id, name and value です。 エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Not Contain Checkbox¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したチェックボックスが含まれていないことを検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
と name
です。. エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Not Contain Element¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したエレメントが含まれていないことを検証します。
message
は、デフォルトのエラーメッセージをオーバライドしたいときに使います。
loglevel
の説明は Page Should Contain を参照してください。
キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Not Contain Image¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定した画像が含まれていないことを検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
, src
, alt
です。 エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Not Contain Link¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したリンクが含まれていないことを検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
, href
, alt
, リンクテキストです。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Not Contain List¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定した選択リストが含まれていないことを検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
と name
です。. エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Not Contain Radio Button¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したラジオボタンが含まれていないことを検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性は id
, name
, value
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Page Should Not Contain Textfield¶
Arguments: | locator, message=, loglevel=INFO |
---|
現在のページに locator
で指定したテキストフィールドが含まれていないことを検証します。
message
と loglevel
の説明は Page Should Contain Element を参照してください。
キー属性 id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Press Key¶
Arguments: | locator, key |
---|
locator
で指定したエレメントでキーを押す操作をシミュレートします。
key
は単一の文字、文字列、または \\
でプレフィクスした ASCII コード表現にできます。
例:
Press Key text_field q
Press Key text_field abcde
# Enter キーを ASCII コードで記述
Press Key login_button \\13
Radio Button Should Be Set To¶
Arguments: | group_name, value |
---|
group_name
で指定したラジオボタンの選択値が value
であるか検証します。
検証します。
ラジオボタンの指定方法は Select Radio Button を参照してください。
Radio Button Should Not Be Selected¶
Arguments: | group_name |
---|
group_name
で指定したラジオボタンがどれも選択されていないことを検証します。
ラジオボタンの指定方法は Select Radio Button を参照してください。
Register Keyword To Run On Failure¶
Arguments: | keyword |
---|
Selenium2Library 上のキーワードが失敗したときに実行される run-on-failure キーワードを設定します。
keyword
は、テスト中に Selenium2Library のキーワードの実行が失敗したときに呼び出されるキーワードです (インポート済みで使えるキーワードを指定できます)。
引数を伴うキーワードは指定できません。 Nothing
を指定すれば、この機能を無効にできます。
run-on-failure キーワードの初期値は Selenium2Library のインポート時に指定できます。
デフォルトの設定は Capture Page Screenshot です。
エラーが起きたとき当該ページのスクリーンショットを撮れるのはとても便利なのですが、実行は遅くなることがあります。
このキーワードは、設定前の run-on-failure キーワードを返すので、元の値を退避して、あとで復帰できます。
例:
# 失敗したら Log Source を実行する
Register Keyword To Run On Failure Log Source
# 現在の run-on-failure を ${previous kw} に退避して、run-on-failure を無効にする
${previous kw}= Register Keyword To Run On Failure Nothing
# 退避した run-on-failure キーワードを復帰する
Register Keyword To Run On Failure ${previous kw}
run-on-failure 機構は、 Python または Jython 2.4 以降でテストを実行している時のみ使えます。 IronPython では使えません。
Reload Page¶
ページのリロード操作をシミュレートします。
Remove Location Strategy¶
Arguments: | strategy_name |
---|
以前追加したカスタムのロケーションストラテジを除去します。 デフォルトのストラテジを指定すると失敗します。 カスタムのロケーションストラテジの追加は Add Location Strategy を参照してください。
Select All From List¶
Arguments: | locator |
---|
locator
で指定したマルチセレクトのできるリストで、全ての要素を選択します。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Select Checkbox¶
Arguments: | locator |
---|
locator
で指定したチェックボックスを選択します。
チェックボックスが選択済みなら何もしません。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Select Frame¶
Arguments: | locator |
---|
locator
で指定したフレームを現在のフレームにします。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Select From List¶
Arguments: | locator, *items |
---|
locator
で指定したリストで、 *items
に一致する要素を選択します。
複数項目を同時選択できないリストに対して複数の値を指定した場合には、最後に指定した値が選択されます。
複数項目を選択できるリストで、 *items
が空のリストの場合、 全ての項目 が選択されます。
*items
の照合にはまず value
に対する一致を試し、つぎにラベルに対する一致を試します。
... By Index/Value/Label
のキーワードを使うほうが高速です。
複数項目を同時選択できないリストで、最後に指定した要素がリスト上にない場合、例外が送出され、 *items
のうちリストにない要素全てについて警告が出ます。
複数項目を選択できるリストでは、 *items
のいずれか一つの要素でもリスト上にない場合に例外が送出されます。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Select From List By Index¶
Arguments: | locator, *indexes |
---|
locator
で指定したリストで、インデクスが *indexes
である要素を選択します。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Select From List By Label¶
Arguments: | locator, *labels |
---|
locator
で指定したリストで、ラベルが *labels
である要素を選択します。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Select From List By Value¶
Arguments: | locator, *values |
---|
locator
で指定したリストで、 value
が *values
である要素を選択します。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Select Radio Button¶
Arguments: | group_name, value |
---|
group_name
で指定したラジオボタンの選択値を value
にします。
group_name
でラジオボタンを指定する方法は二つあります:
group_name
はradio
インプットのname
と照合します。value
はvalue
またはid
属性と照合します。
従って、条件に一致するラジオボタンを検索するための XPath は
//input[@type='radio' and @name='group_name' and (@value='value' or @id='value')]
のようになります。
例:
# <input type="radio" name="size" value="XL">XL</input> であるような HTML に一致
Select Radio Button size XL
# <input type="radio" name="size" value="XL" id="sizeXL">XL</input> であるような HTML に一致
Select Radio Button size sizeXL
Select Window¶
Arguments: | locator=None |
---|
locator
に一致するウィンドウを選択し、以前のウィンドウのウィンドウハンドルを返します。
locator
に指定できるのは、ウィンドウの名前、タイトル、 URL, 除外リスト (excluded handle’s list), 特定のウィンドウを表すキーワード (special words) です。
選択中のウィンドウから切り替わった場合はそのウィンドウのハンドル値、選択中のウィンドウがない状態から選択した場合には None を返します。
ウィンドウが見つかった場合、次にこのキーワードで別のウィンドウを選択するまで、以後のコマンドはすべて新たに選択したウィンドウに対して実行されます。
ウィンドウが見つからなかった場合は失敗になります。
デフォルトの動作では、 locator
を指定した場合、ウィンドウのタイトルと、 javascript 上のウィンドウ名を使って一致するウィンドウを探します。複数のウィンドウが一致した場合には、最初に見つかったウィンドウを選択します。
特定のウィンドウを表すロケータとして、以下があります。
キーワード | |
---|---|
main (文字列) |
メインウィンドウを返す |
self (文字列) |
現在のウィンドウ (結果的に現在のウィンドウハンドルを返す) |
new (文字列) |
ウィンドウのインデクスの値が最も大きいものを最新として返す |
除外リスト (リスト) | List Windows などで取得したウィンドウハンドルリストに含まれないもののうち最初のもの |
Selenium2Library のアプローチでロケータストラテジを指定してウィンドウを探すこともできます:
ストラテジ | 例 | 説明 |
---|---|---|
title |
Select Window title=My Document |
ウィンドウタイトルで一致 |
name |
Select Window name=${name} |
ウィンドウの Javascript 上の名前で一致 |
url |
Select Window url=http://google.com |
ウィンドウの現在の URL で一致 |
例:
Click Link popup_link # opens new window
Select Window popupName
Title Should Be Popup Title
# Chooses the main window again
Select Window
Set Browser Implicit Wait¶
Arguments: | seconds |
---|
現在のブラウザの暗黙の待機時間 (implicit wait) を秒で設定します。 Selenium2 の対応する関数の説明には、「エレメントを取得したり、コマンドを実行し終わるまで待機するためのタイムアウトで、設定は持続する。セッション中で一度だけ呼び出せばよい (‘Sets a sticky timeout to implicitly wait for an element to be found, or a command to complete. This method only needs to be called one time per session.’)」とあります。
例:
Set Browser Implicit Wait 10 seconds
Set Screenshot Directory¶
Arguments: | path, persist=False |
---|
キャプチャした画像置き場となるディレクトリを設定します。
path
にはスクリーンショットを保存する先の絶対パスを指定します。
指定したパスが存在しなければ、作成されます。
persist
を指定すると、テスト全体の実行が終わるまでパスの設定が維持されます。
それ以外の場合は、現在のテスト実行スコープが終わった時点で、以前の値に復帰します。
Set Selenium Implicit Wait¶
Arguments: | seconds |
---|
Selenium 2 のデフォルトの暗黙の待機時間 (implicit wait) を秒で指定し、開いている全てのブラウザに適用します。 Selenium2 の対応する関数の説明には、「エレメントを取得したり、コマンドを実行し終わるまで待機するためのタイムアウトで、設定は持続する。セッション中で一度だけ呼び出せばよい (‘Sets a sticky timeout to implicitly wait for an element to be found, or a command to complete. This method only needs to be called one time per session.’)」とあります。
例:
${orig wait} = Set Selenium Implicit Wait 10 seconds
# (何か時間のかかる Ajax 処理などを実行)
Set Selenium Implicit Wait ${orig wait}
Set Selenium Speed¶
Arguments: | seconds |
---|
Selenium がコマンドを実行した後に待機する時間を設定します。
このコマンドは、テスト実行を遅くして、実行の様子を目で確認したいときに便利です。
seconds
は Robot Framework の時間表現の形式を使えます。
設定前のスピード値を返します。
例:
Set Selenium Speed .5 seconds
Set Selenium Timeout¶
Arguments: | seconds |
---|
様々なキーワードで使われているタイムアウトを秒で指定します。
Selenium2Library では、 timeout
を引数にとる Wait ...
系のキーワードがいくつかあります。
これらの timeout
はいずれも省略可能で、このキーワードで設定値をグローバルに変更できます。
詳しくは タイムアウトの設定 を参照してください。
このキーワードは設定前の timeout
を返すので、後で以前の値を復帰するときに使えます。
デフォルトのタイムアウトは 5 秒ですが、 Selenium2Library のインポート時に変更されることもあります。
例:
${orig timeout} = Set Selenium Timeout 15 seconds
# (表示の遅いページをロードする)
Set Selenium Timeout ${orig timeout}
Set Window Position¶
Arguments: | x, y |
---|
現在のウィンドウの位置を x, y
に設定します。
例:
Set Window Size ${1000} ${0}
${x} ${y}= Get Window Position
Should Be Equal ${x} ${1000}
Should Be Equal ${y} ${0}
Set Window Size¶
Arguments: | width, height |
---|
現在のウィンドウの幅と高さを width, height
に設定します。
例:
Set Window Size ${800} ${600}
${width} ${height}= Get Window Size
Should Be Equal ${width} ${800}
Should Be Equal ${height} ${600}
Simulate¶
Arguments: | locator, event |
---|
locator
で指定したエレメントで event
の発生をシミュレートします。
このキーワードはエレメントに OnEvent 系のハンドラが実装されていて、それを呼び出したいときに便利です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Submit Form¶
Arguments: | locator=None |
---|
locator
で指定したフォームを submit します。
locator
が空の場合、ページの最初のフォームを submit します。
キー属性は id
と name
です。. エレメントの指定方法は エレメントの探索と指定 を参照してください。
Switch Browser¶
Arguments: | index_or_alias |
---|
index_or_alias
を使ってアクティブなブラウザを切り替えます。
インデクスは Open Browser が返す値で、エイリアスは Open Browser の呼び出し時に付与できます。
例e:
Open Browser http://google.com ff
Location Should Be http://google.com
Open Browser http://yahoo.com ie 2nd conn
Location Should Be http://yahoo.com
Switch Browser 1 # インデクス指定
Page Should Contain I'm feeling lucky
Switch Browser 2nd conn # エイリアス指定
Page Should Contain More Yahoo!
Close All Browsers
上の例では、インデクスに 1
を使っていて、最初の Open Browser
でブラウザを開くよりも前はブラウザウィンドウは存在しなかったという前提になっています。
今のブラウザインデクスが分からなければ、以下のようにして取得できます。
${id} = Open Browser http://google.com *firefox
# Do something ...
Switch Browser ${id}
Table Cell Should Contain¶
Arguments: | table_locator, row, column, expected, loglevel=INFO |
---|
テーブル中の特定のセルに expected
が含まれているか検証します。
行およびカラム番号は 1 から始めます。このキーワードがパスするのは、指定のセルに指定のコンテンツが含まれている場合です。
セルの内容を厳密一致で調べたい場合や、セルの内容が特定のテキストから始まっているかを調べたい場合などは、 Get Table Cell と、Robot Framework 組み込みの Should Be Equal
や Should Start Width
を使ってください。
テーブルの指定方法は、 テーブル、行、列などの指定方法 を参照してください。
loglevel
の説明は Page Should Contain を参照してください。
Table Column Should Contain¶
Arguments: | table_locator, col, expected, loglevel=INFO |
---|
特定のテーブルカラムに expected
が含まれているか検証します。
最左端のカラムのカラム番号を 1 とします。
負のカラム番号は、行の末尾のカラム (末尾: -1) から数えた番号として使えます。
テーブルに複数カラムにわたるセルがある場合、結合されているセル一つ一つもカラムとして数えます。
例えば、ある行のカラム A と B が colspan=”2” で結合されていて、論理的な 3 番目のカラムに C
が入っている場合、以下のテストはいずれも動作します。
例:
Table Column Should Contain tableId 3 C
Table Column Should Contain tableId 2 C
テーブルの指定方法は、 テーブル、行、列などの指定方法 を参照してください。
loglevel
の説明は Page Should Contain Element を参照してください。
Table Header Should Contain¶
Arguments: | table_locator, expected, loglevel=INFO |
---|
テーブルヘッダ、つまりいずれかの <th>...</th>
エレメントに expected
が含まれているか検証します。
テーブルの指定方法は、 テーブル、行、列などの指定方法 を参照してください。
loglevel
の説明は Page Should Contain Element を参照してください。
Table Row Should Contain¶
Arguments: | table_locator, row, expected, loglevel=INFO |
---|
特定のテーブル行に expected
が含まれているか検証します。
先頭の行の行番号は 1 です。行番号を負の数で指定すると、テーブルの末尾から数えた (末尾: -1) 指定になります。
<thead>
, <tbody>
, <tfoot>
からなるテーブルの場合、 <tbody>
セクションだけが検索対象です。
ヘッダやフッタのコンテンツを検索したいときは、 Table Header Should Contain や Table Footer Should Contain を使ってください。
複数行にまたがるセルが存在する場合、結合したセルの最も上のセルだけがマッチします。
テーブルの指定方法は、 テーブル、行、列などの指定方法 を参照してください。
loglevel
の説明は Page Should Contain Element を参照してください。
Table Should Contain¶
Arguments: | table_locator, expected, loglevel=INFO |
---|
テーブル中のどこかに expected
が含まれているか検証します。
テーブルの指定方法は、 テーブル、行、列などの指定方法 を参照してください。
loglevel
の説明は Page Should Contain Element を参照してください。
Textarea Should Contain¶
Arguments: | locator, expected, message= |
---|
locator
で指定したテキストエリアがテキスト expected
を含むか検証します。
message
はデフォルトのエラーメッセージをオーバライドするのに使います。
キー属性は id
と name
です。. エレメントの指定方法は エレメントの探索と指定 を参照してください。
Textarea Value Should Be¶
Arguments: | locator, expected, message= |
---|
locator
で指定したテキストエリアの値が expected
と厳密一致するか検証します。
message
はデフォルトのエラーメッセージをオーバライドするのに使います。
キー属性は id
と name
です。. エレメントの指定方法は エレメントの探索と指定 を参照してください。
Textfield Should Contain¶
Arguments: | locator, expected, message= |
---|
locator
で指定したテキストフィールドがテキスト expected
を含むか検証します。
message
はデフォルトのエラーメッセージをオーバライドするのに使います。
キー属性は id
と name
です。. エレメントの指定方法は エレメントの探索と指定 を参照してください。
Textfield Value Should Be¶
Arguments: | locator, expected, message= |
---|
locator
で指定したテキストフィールドの値が expected
と厳密一致するか検証します。
message
はデフォルトのエラーメッセージをオーバライドするのに使います。
キー属性は id
と name
です。. エレメントの指定方法は エレメントの探索と指定 を参照してください。
Unselect Checkbox¶
Arguments: | locator |
---|
locator
で指定したチェックボックスの選択を解除します。
チェックボックスが非選択なら何もしません。
キー属性は id
と name
です。
エレメントの指定方法は エレメントの探索と指定 を参照してください。
Unselect Frame¶
トップフレームを現在のフレームにします。
Unselect From List¶
Arguments: | locator, *items |
---|
locator
で指定した選択リストで、 *items
に指定した値の選択を解除します。
引数の特殊なケースとして *items
が空のリストのときには 全ての選択を解除 します。
*items
の一致は、 value
と label
の 両方で 試みます。
... By Index/Value/Label
のキーワードを使うほうが高速です。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Unselect From List By Index¶
Arguments: | locator, *indexes |
---|
locator
で指定したリストから *indexes
で指定したインデクスの要素の選択を解除します。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Unselect From List By Label¶
Arguments: | locator, *labels |
---|
locator
で指定したリストから *labels
で指定したラベルの要素の選択を解除します。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Unselect From List By Value¶
Arguments: | locator, *values |
---|
locator
で指定したリストから *values
で指定した値の要素の選択を解除します。
リストとコンボボックスのどちらにも使えます。キー属性は id
と name
です。エレメントの指定方法は エレメントの探索と指定 を参照してください。
Wait For Condition¶
Arguments: | condition, timeout=None, error=None |
---|
condition
が true になるか、タイムアウトになるまで待機します。
condition
には任意の JavaScript の式を指定できますが、必ず末尾に (値を返す) return
文がなければなりません。
JavaScript からウィンドウのコンテンツにアクセスする方法は Execute JavaScript を参照してください。`
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
参考
Wait Until Page Contains, Wait Until Page Contains Element, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Wait Until Element Contains¶
Arguments: | locator, text, timeout=None, error=None |
---|
locator
で指定したエレメントが text
が含んだ状態になるまで待機します。
timeout
が経過してしまうと失敗になります。
timeout
が経過してしまうと失敗になります。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
参考
Wait Until Page Contains, Wait Until Page Contains Element, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Wait Until Element Does Not Contain¶
Arguments: | locator, text, timeout=None, error=None |
---|
locator
で指定したエレメントが text
を含まない状態になるまで待機します。
timeout
が経過してしまうと失敗になります。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
参考
Wait Until Page Contains, Wait Until Page Contains Element, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Wait Until Element Is Enabled¶
Arguments: | locator, timeout=None, error=None |
---|
locator
で指定したエレメントが操作可能 (enabled) になるまで待機します。
timeout
が経過してしまうと失敗になります。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
参考
Wait Until Page Contains, Wait Until Page Contains Element, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Wait Until Element Is Not Visible¶
Arguments: | locator, timeout=None, error=None |
---|
locator
で指定したエレメントが不可視 (not visible) になるまで待機します。
timeout
が経過してしまうと失敗になります。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
参考
Wait Until Page Contains, Wait Until Page Contains Element, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Wait Until Element Is Visible¶
Arguments: | locator, timeout=None, error=None |
---|
locator
で指定したエレメントが可視 (visible) になるまで待機します。
timeout
が経過してしまうと失敗になります。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
参考
Wait Until Page Contains, Wait Until Page Contains Element, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Wait Until Page Contains¶
Arguments: | text, timeout=None, error=None |
---|
現在のページに text
が出現するまで待機します。
timeout
が経過してしまうと失敗になります。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
参考
Wait Until Page Contains Element, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Wait Until Page Contains Element¶
Arguments: | locator, timeout=None, error=None |
---|
現在のページに locator
で示したエレメントが出現するまで待機します。
timeout
が経過してしまうと失敗になります。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
参考
Wait Until Page Contains, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Wait Until Page Does Not Contain¶
Arguments: | text, timeout=None, error=None |
---|
現在のページから text
がなくなるまで待機します。
timeout
が経過してしまうと失敗になります。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
参考
Wait Until Page Contains, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Wait Until Page Does Not Contain Element¶
Arguments: | locator, timeout=None, error=None |
---|
現在のページから locator
で示したエレメントがなくなるまで待機します。
timeout
が経過してしまうと失敗になります。
timeout
の詳細とデフォルト値については タイムアウトの設定 を参照してください。
error
はデフォルトのエラーメッセージをオーバライドするときに使います。
参考
Wait Until Page Contains, Wait For Condition, Wait Until Element Is Visible, Wait Until Keyword Succeeds (Robot Framework 組み込みキーワード)
Xpath Should Match X Times¶
Arguments: | xpath, expected_xpath_count, message=, loglevel=INFO |
---|
ページ中に、 xpath
で指定したエレメントが指定個数あるかを検証します。
xpath を指定するときに、 xpath=
を含めてはなりません。
使える表記は XPath です。
- ::
# 正しい Xpath Should Match X Times //div[@id=’sales-pop’] 1
#誤り Xpath Should Match X Times xpath=//div[@id=’sales-pop’] 1
message
と loglevel
引数は Page Should Contain Element を参照
してください。