Selenium IDE

Selenium IDE

  • ドキュメント
  • API
  • プラグイン
  • ブログ
  • ヘルプ

›はじめに

はじめに

  • はじめに
  • コマンドラインランナー
  • 制御フロー
  • コードエクスポート
  • よくある質問

APIリファレンス

  • コマンド
  • 引数

制御フロー

Selenium IDEには、テストに条件分岐とループを追加できるコマンドが用意されています。

これにより、アプリケーション内の特定の条件が満たされた場合にのみコマンド(またはコマンドセット)を実行したり、事前に定義された基準に基づいてコマンドを繰り返し実行したりできます。

JavaScript式

アプリケーション内の条件は、JavaScript式を使用してチェックされます。

execute scriptコマンドまたはexecute async scriptコマンドを使用して、テスト中の任意の時点でJavaScriptのスニペットを実行し、その結果を変数に格納できます。これらの変数は、制御フローコマンドで使用できます。

制御フローコマンドでJavaScript式を直接使用することもできます。

使用可能なコマンド

制御フローコマンドは、コマンドのセット(またはブロック)を示す開始コマンドと終了コマンドを指定して機能します。

使用可能な制御フローコマンドとその対応する終了コマンドを以下に示します。

  • if、else if、else、end
  • times、end
  • do、repeat if
  • while、end

それぞれの例を見ていきましょう。

条件分岐

条件分岐を使用すると、テストの動作を変更できます。

if-example

if

これは、条件ブロックの開始コマンドです。

これと共に、評価したいJavaScript式を指定します。これは、テストの以前のJavaScript式から作成された変数で構成される場合があります。これらはすべて、ifコマンドのtarget入力フィールドに入力されます。

式がtrueと評価された場合、テストはそれに続くコマンドを次の条件付き制御フローコマンド(例:else if、else、またはend)まで実行します。

式がfalseと評価された場合、それに続くコマンドをスキップし、次の関連する条件付き制御フローコマンド(例:else if、else、またはend)にジャンプします。

else if

このコマンドは、ifコマンドブロック内で使用されます。

ifと同様に、target入力フィールドに評価するJavaScript式を入力し、それに続くコマンドブランチを実行するか、次の関連する制御フローコマンド(例:elseまたはend)にスキップします。

else

elseは、ifブロックに含めることができる最後の条件です。前の条件がどれも満たされていない場合、このコマンドブランチが実行されます。

完了すると、endコマンドにジャンプします。

end

このコマンドは、条件コマンドブロックを終了します。これがないと、コマンドブロックは不完全になり、テストの実行時に役立つエラーメッセージが表示されます。

ループ

ループを使用すると、指定されたコマンドセットを反復処理できます。

times

timesを使用すると、コマンドセットを実行する反復回数を指定できます。数値は、timesコマンドのtarget入力フィールドに入力します。

timesコマンドブロックを閉じるには、endコマンドを使用してください。

times-example

do

このループはdoコマンドで開始し、実行するコマンドが続き、repeat ifコマンドで終了します。repeat ifは、target入力フィールドに評価するJavaScript式を入力します。

doの後のコマンドが最初に実行され、次にrepeat ifの式が評価されます。式がtrueを返す場合、テストはdoコマンドに戻り、シーケンスを繰り返します。

do-example

これは、条件がfalseを返すか、無限ループ保護がトリガーされるまで続きます。無限ループ保護はデフォルトで1000回です。これは、repeat ifコマンドのvalue入力フィールドに数値を指定することで上書きできます。

while

whileでは、target入力フィールドに評価するJavaScript式を入力します。trueと評価された場合、それに続くコマンドブロックはendコマンドに到達するまで実行されます。

完了すると、テストはwhileコマンドに戻り、同じシーケンスを繰り返します(最初に条件がtrueまたはfalseと評価されるかどうかを確認します)。

whileコマンドブロックを閉じるには、endコマンドを使用します。

while-example

ループは、条件がfalseを返すか、無限ループ防止機能がトリガーされるまで再試行されます。無限ループ防止機能はデフォルトで1000回の試行に設定されています。whileコマンドのvalue入力フィールドに数値を指定することで、このデフォルト値を上書きできます。

forEach

最後に、コレクション(例:JS配列)を反復処理し、そのコレクションの各項目を参照する機能について説明します。

targetフィールドには、反復処理する配列を含む変数の名前を指定します。valueフィールドには、使用する反復変数の名前を指定します。配列の各エントリに対して、その後のコマンドが実行されます。各反復処理において、現在のエントリのコンテンツは反復変数を通じてアクセスできます。

for-each-example

コマンドのネスト

必要に応じて制御フローコマンドをネストできます(例:ifブロックをwhileブロック内に配置したり、その逆も可能です)。

nested-example

構文検証

制御フローの構文が正しいかどうかわからない場合は、テストを実行してみてください。IDEは制御フロー構文のエラーを検出し、不適切なコマンドや欠落しているコマンドを特定します。

error-example

最終更新日:2019年6月3日
← コマンドラインランナーコードエクスポート →
  • JavaScript式
  • 使用可能なコマンド
  • 条件分岐
    • if
    • else if
    • else
    • end
  • ループ
    • times
    • do
    • while
    • forEach
  • コマンドのネスト
  • 構文検証
Selenium IDE
ドキュメント
はじめにAPIリファレンスプラグインの作成
コミュニティ
Slackirc (#selenium)Googleグループ
その他
ブログGitHubStar旧IDE
Copyright © 2019 Software Freedom Conservancy (SFC)