Selenium IDE チュートリアル

⚡ スマートサマリー

Selenium IDEは、 Selenium 試作品用に構築されたスイートping 大規模なスイートを維持するのではなくテストを行い、そのペインはすべてのSeleneseコマンドの記録、編集、実行、および検査を網羅しています。

  • 🔘 目的: このIDEはブラウザの操作をSeleneseコマンドとして記録し、プログラミングなしでそれらを再生します。
  • ☑️ 範囲: プロトタイプとして扱うping ツールを実行し、保守可能なフレームワーク用にスクリプトをエクスポートします。
  • メニューバー: ファイルハンドルは、作成、開く、保存、エクスポートを行います。編集機能は、新しいコマンドとコメントを挿入します。
  • 🧪 オプション: オプションダイアログでは、デフォルトのタイムアウト、ベースタイムを設定します。 URL 動作とロケーターの構築順序。
  • 🛠️ エディタ: テーブルビューでは、コマンド、ターゲット、値を入力します。ソースビューでは、同じスクリプトをマークアップとして表示します。
  • 📊 フィードバックパネル: ログペインにはデバッグ、情報、警告、エラーメッセージが表示され、リファレンスペインには選択したコマンドの説明が表示されます。
  • 🚀 今日: 現在のIDEはChromeです。 Firefox また、プロジェクトを単一の.sideファイルとして保存するEdge拡張機能もあります。

Selenium IDEのペイン、メニュー、ツールバーを解説するチュートリアル

何ですか Selenium IDE?

Selenium IDE (統合開発環境) は、最も単純なツールです。 Selenium スイート。それは Firefox 記録再生機能によりテストを非常に迅速に作成できるアドオン。この機能は、 QTPインストールは簡単で、使い方もすぐに覚えられます。

⚠️ バージョンに関する注意:   Firefox この記事全体を通して紹介されているアドオンは廃止されました。このツールは Chrome として存続しています。 Firefox とエッジ ブラウザの拡張機能 録音と再生機能は維持しつつ、インターフェースを再配置し、プロジェクトを単一のファイルとして保存する .side ファイル。以下のすべてのオリジナル画面と設定は、公開されたとおりに保存されています。

そのシンプルさゆえに、 Selenium IDEはプロトタイプとしてのみ使用すべきであるping 開発のためのツールであり、全体的なソリューションではありません。ping そして、複雑なテストスイートの維持管理。

使えるようになりますが、 Selenium IDEはプログラミングの知識がなくても使用できますが、少なくともHTMLには精通している必要があります。 Javaスクリプトこのツールを最大限に活用するには、DOM(Document Object Model)に関する知識が必要です。 JavaSeleneseコマンド「runScript」に関するセクションに進むと、スクリプトが必要になります。

Selenium IDE は、テスト作成時のオートコンプリート モードをサポートします。この機能には次の 2 つの目的があります。

  • これにより、テスターがコマンドをより迅速に入力できるようになります。
  • ユーザーが無効なコマンドを入力することを制限します。

Selenium IDEの機能

下のラベル付き画面には、この記事の残りの部分で言及されているすべての地域が示されています。

Selenium メニューバー、ベースを備えたIDEウィンドウ URL バー、ツールバー、テストケースペイン、エディター、ログペインにラベルが付けられています。

メニューバー

IDEの最上部に位置しています。最もよく使用されるメニューは、「ファイル」、「編集」、「オプション」メニューです。

ファイルメニュー

  • テストを作成、開く、保存、閉じるためのオプションが含まれています。
  • テストはHTML形式で保存されます。
  • 最も便利なオプションは「エクスポート」です。 Selenium IDE テスト ケースを実行可能なファイル形式に変換 Selenium リモートコントロールとWebDriver
  • 「テストケースをエクスポート…」を選択すると、現在開いているテストケースのみがエクスポートされます。
  • 「テストスイートをエクスポート…」を実行すると、現在開いているテストスイート内のすべてのテストケースがエクスポートされます。

下の展開されたファイルメニューには、2つのエクスポート項目が並べて表示されます。

Selenium IDEのファイルメニューが展開され、テストケースのエクスポートとテストスイートのエクスポートが表示されます。

  • のように Selenium IDE v1.9.1では、テストケースは以下の形式でのみエクスポートできます。
    • .cs (C# ソース コード)
    • .java (Java ソースコード
    • .py (Python ソースコード
    • .rb (Ruby ソースコード)

エクスポートすると、各 Selenese 行が選択された言語のステートメントとして書き換えられます。これは HTML-to-Java 比較するとわかる。

Selenese HTMLテストケースを同等のエクスポートされたファイルの横に表示 Java ソースコード

注意: Selenium リモコンは削除されました Selenium 3. そのため、エクスポートされたRCスクリプトは実行されなくなりました。現在のIDEは代わりにWebDriverコードをエクスポートします。

編集メニュー

  • これには、「元に戻す」、「やり直し」、「切り取り」、「コピー」、「貼り付け」、「削除」、「すべて選択」などの通常のオプションが含まれています。
  • 最も重要なオプションは、「新しいコマンドを挿入」と「新しいコメントを挿入」の2つです。

Selenium IDEの編集メニューで、「新しいコマンドの挿入」と「新しいコメントの挿入」がハイライト表示されている。

新しく挿入されたコマンドまたはコメントは、現在選択されている行の先頭に配置されます。

選択した行の上に新しいコマンドを挿入する前後のエディタグリッド

  • コマンドは黒色で表示されます。
  • コメントは紫色で表示されます。

色の違いによって、長い文章の中でも挿入されたコメントを簡単に見つけることができる。

エディター行に、紫色のコメント行の横に黒色のSeleneseコマンドが表示されている。

オプションメニュー

のさまざまな設定を構成するためのインターフェイスを提供します。 Selenium IDE

ここでは、「オプション」と「クリップボード形式」のオプションに焦点を当てます。

クリップボード形式のサブメニューには、利用可能なすべてのコードスニペット形式が表示されます。

クリップボード形式

  • クリップボード形式を使用すると、Seleneseコマンドをエディタからコピーして、コードスニペットとして貼り付けることができます。
  • コードの形式は、ここでクリップボード形式のリストで選択したオプションに従います。
  • HTML がデフォルトの選択です。

たとえば、 Java/JUnit 4/WebDriver をクリップボードの形式として使用し、コピーする Selenese コマンドはすべて Selenium IDEのエディタは次のように貼り付けられます Java コード。下の図を参照してください。

Selenese コマンドをエディタからコピーして貼り付けました Java WebDriverステートメント

Selenium IDE オプション ダイアログ ボックス

起動できます Selenium メニュー バーで [オプション] > [オプション...] をクリックすると、IDE オプション ダイアログ ボックスが表示されます。設定できる項目は多数ありますが、ここでは重要な項目をいくつか取り上げます。

Selenium タイムアウト、拡張機能、ベースを含むIDEオプションダイアログ URL ラベルの付いたレコード設定

  • デフォルトのタイムアウト値。 これは、 Selenium エラーを生成する前に、特定の要素が表示されるかアクセス可能になるまで待機する必要があります。デフォルトのタイムアウト値は30000msです。
  • Selenium IDE拡張機能。 ここでは、拡張に使用する拡張機能を指定します。 Selenium IDE の機能。訪問でき​​ます addons.mozilla.org そして「」を使用しますSelenium」をキーワードとして使用して、特定の拡張子を検索します。
  • ベースを覚えておいてください URL. 必要に応じてこれをチェックしたままにしてください Selenium IDE はベースを記憶します URL 起動するたびに。このチェックを外すと、 Selenium IDE は常に Base の値が空白の状態で起動します URL.
  • 自動開始レコード。 これをチェックしてみると、 Selenium IDE は起動時にブラウザーのアクションをすぐに記録します。
  • ロケータービルダー。 ここでは、記録中にロケーターが生成される順序を指定します。 ロケーター 伝える方法 Selenium Selenese コマンドがどの UI 要素に作用するかを指定する IDE。以下の設定では、ID 属性を持つ要素をクリックすると、「id」がリストの最初にあるため、その要素の ID がロケーターとして使用されます。その要素に ID 属性がない場合、 Selenium 次に、リストの 2 番目にある「name」属性を探します。適切なものが見つかるまで、リストは続きます。

このリストのエントリを上下にドラッグすると、レコーダーが最初に参照する属性が変更されます。

ロケータービルダーリストには、レコーダーがロケーターを生成する際に使用される優先順位が表示されます。

ベース(Base) URL バー

スクリプト内のすべての相対アドレスは、このフィールドに基づいて解決されます。

ベース(Base) URL バーの Selenium テスト対象アプリケーションのアドレスを保持するIDE

  • 簡単にアクセスできるように、以前のすべての値を記憶するドロップダウン メニューがあります。
  • セレネー語のコマンド「open」はあなたを URL ベースで指定したもの URL.
  • このチュートリアル シリーズでは、次のものを使用します。 demo.guru99.com/test/newtours/ 私たちの拠点として URL. これは、 Mercury Toursは、ウェブテスト目的で使用されるデモ用ウェブアプリケーションです。このアプリケーションには、以降のトピックに必要な要素がすべて含まれているため、これを使用します。
  • 本拠 URL 相対アクセスに非常に役立ちます URLs. あなたの基地が URL に設定されています Mercury ツアーの住所は上記です。ターゲット値「signup」で「open」コマンドを実行すると、 Selenium IDE はブラウザをサインアップ ページに誘導します。以下の図を参照してください。

設定されたベースに対して解決される相対ターゲットサインアップを使用してコマンドを開きます URL

ツールバー

ツールバーには、録画と再生のコントロールが配置されています。各ボタンとその機能については、以下に記載されています。

再生速度スライダー 再生速度。これはテストスクリプトの実行速度を制御します。
録音ボタン 録画を開始します。録画セッションの開始/終了を切り替えます。ブラウザの各操作は、エディタにSeleneseコマンドとして入力されます。
テストスイート全体を再生するボタン テストスイート全体を実行します。これにより、テストケースペインに表示されているすべてのテストケースが順番に実行されます。
現在のテストケースを再生するボタン 現在のテストケースを実行します。これにより、テストケースペインで現在選択されているテストケースのみが実行されます。
一時停止と再開ボタン 一時停止/再開。再生を一時停止または再開します。
ステップボタン ステップ。このボタンをクリックすると、テストスクリプト内の各コマンドをステップ実行できます。
ロールアップルールを適用するボタン ロールアップルールを適用します。これは高度な機能です。Seleneseコマンドをグループ化して、単一のアクションとして実行できます。

テストケースペイン

テストケースペインには、合格/不合格の色分けと実行概要が表示された未完了のテストケースが一覧表示されます。

  • In Selenium IDEでは、一度に複数のテストケースを開くことができます。
  • テスト ケース ペインには、現在開いているテスト ケースのリストが表示されます。
  • テストスイートを開くと、テストケースペインにそのスイートに含まれるすべてのテストケースが自動的に一覧表示されます。
  • 太字で書かれているテストケースは、現在選択されているテストケースです。
  • 再生後、各テストケースは合格か不合格かを示すために色分けされます。
  • 緑色は「合格」を意味します。
  • 赤色は「失敗」を意味します。
  • 下部には、実行されて失敗したテスト ケースの数の概要が表示されます。

エディター

エディタは、すべての操作が行われる場所だと考えてください。エディタには、テーブルビューとソースビューの2つの表示モードがあります。

テーブルビュー

  • ほとんどの場合、次のことに取り組むことになります。 Selenium テーブルビューを使用するIDE。
  • ここでは、Seleneseコマンドを作成および変更できます。
  • 再生後、各ステップは色分けされます。

テーブルビューのエディターでは、再生後に実行されたステップが色分けされて表示されます。

  • ステップを作成するには、「コマンド」テキスト ボックスにコマンドの名前を入力します。
  • 現在入力しているエントリに一致するコマンドのドロップダウンリストが表示されます。ping.
  • Target はコマンドのパラメータ(ユーザー名、パスワードなど)であり、値はそれらの入力値(tom、123passなど)です。 Targets.

コマンド、 Target および値フィールド Selenium IDEテーブルエディタ

ソースビュー

  • ステップは HTML (デフォルト) 形式で表示されます。
  • また、テーブル ビューと同じようにスクリプトを編集することもできます。

ソースビューのエディタに、HTML Seleneseテーブルとして同じテストケースを表示する

ログペイン

ログペインには、実行中にランタイムメッセージが表示されます。 Selenium IDEはやってます。

ログは次の XNUMX つのタイプに分類されます。

  • デバッグ デフォルトでは、デバッグメッセージはログパネルに表示されません。フィルタリングした場合にのみ表示されます。デバッグメッセージは、 Selenium IDEが裏で行っている処理。特定のモジュールの読み込みが完了した、特定の関数が呼び出された、外部からの呼び出しがあったなどのメッセージが表示されることがあります。 Javaスクリプト ファイルが拡張機能として読み込まれました。
  • インフォ – どのコマンドかが書いてあります Selenium IDE は現在実行中です。
  • 警告する これらは、特別な状況で発生する警告メッセージです。
  • エラー – これらは、次のような場合に生成されるエラーメッセージです。 Selenium IDE がコマンドの実行に失敗した場合、または指定された条件が満たされない場合 「検証」または「表明」コマンド 要件を満たしていません。

ログペインのドロップダウンリストには、デバッグ、情報、警告、エラーのメッセージタイプが表示されます。

ログは種類別にフィルタリングできます。たとえば、ドロップダウンリストから「エラー」オプションを選択すると、ログペインにはエラーメッセージのみが表示されます。

ログペインはエラーにフィルタリングされ、失敗したコマンドメッセージのみが表示されます。

参照ペイン

参照ペインには、エディタで現在選択されているSeleneseコマンドの簡潔な説明が表示されます。また、そのコマンドで使用するロケータと値の説明も表示されます。

選択したSeleneseコマンドとそのターゲット引数および値引数を説明する参照ペイン

UI要素ペイン

UI 要素は上級者向けです Selenium ユーザー。 Java要素マップを定義するためのスクリプトオブジェクト表記法(JSON)pingドキュメントとリソースは、ヘルプメニューの「UI要素ドキュメント」オプションにあります。 Selenium IDE

ヘルプメニュー Selenium UI要素ドキュメントエントリを備えたIDE

UI要素画面の例を以下に示します。

テスト対象アプリケーションのJSON要素マップを保持するUI要素ペイン

ロールアップ ペイン

Rollup を使用すると、コマンドのグループを 1 つのステップで実行できます。コマンドのグループは単に「rollup」と呼ばれます。 Javaプログラミング言語の「関数」に似たコマンドのコレクションを作成するためのスクリプトと UI 要素の概念。

ロールアップは再利用可能です。つまり、テストケース内で複数回使用できます。ロールアップは複数のコマンドを1つにまとめたグループであるため、テストスクリプトの短縮に大きく貢献します。

Seleneseの複数の手順をエディタ内の単一のロールアップコマンドに集約

ロールアップ タブの内容の例を以下に示します。

ロールアップペインに表示 Java再利用可能なロールアップルールの背後にあるスクリプト定義

現在の拡張機能には、ロールアップペインとUI要素ペインに相当する機能はありません。代わりに、制御フローコマンドとコードのエクスポートがその役割を担っています。

よくあるご質問

拡張子が .side の単一ファイルには、プロジェクト全体(すべてのテスト、すべてのスイート、およびベース)が格納されています。 URLこれにより、テストケースごとに1つのHTMLファイルを作成するという従来のモデルが置き換えられ、プロジェクトをバージョン管理に簡単にコミットできるようになります。

はい。拡張機能内での再生は、それがインストールされているブラウザを使用しますが、コマンドラインランナーは保存されたプロジェクトを他のブラウザで実行し、ビルドパイプラインに組み込むことができます。これは、ブラウザ内プレーヤーではできないことです。

現在のIDEには、if、else if、else、while、times、do、repeat if、for eachなどの制御フローコマンドが付属しています。これは、分岐とループをカバーしています。ping 録音されたスクリプトなしで Javaスクリプトによる回避策は、以前のロールアップ機能が必要としていたものです。

レコーダーは、各要素に対して複数の候補ロケーターを保存します。再生中は、いずれかの候補が成功するまで試行されるため、IDが変更されても必ずしもステップが中断されるわけではありません。ただし、継続的にエラーが発生する場合は、ロケーターリストを手動で編集する必要があります。

テストまたはスイートを右クリックすると、C# NUnit、C# xUnit の WebDriver コードが表示されます。 Java JUnit, Javaスクリプトモカ、 Python パイテスト およびRuby RSpec。オプションの切り替えでコメントを追加できます。 trac生成された各行を、記録されたステップに遡って追跡する。

機械学習は、記録されたテストの中で最も弱い部分であるロケーターに主に適用されます。自己修復エンジンは、複数の候補セレクタをランク付けし、マークアップが変化すると正常に動作するセレクタに切り替えます。また、同様のモデルは、繰り返される障害をクラスタリングして、実際の欠陥をタイミングノイズから分離します。

これはクリーンアップ処理に最適です。エクスポートされたコードは1つの長い線形メソッドですが、Copilotはそれをページオブジェクトにリファクタリングし、ハードコードされたデータをフィクスチャに取り込み、固定の一時停止を明示的な待機に置き換えます。 Rev保持している位置情報を確認してください。

テストで共有設定、データ ファイル、レポート、またはスイート間での再利用が必要になるとすぐに、IDE はシナリオを迅速に検証するのに優れています。 Selenium そのフレームワークこそが、何百ものシナリオを維持可能にしているのだ。