アサートと検証 Selenium IDE

⚡ スマートサマリー

Selenium スクリプトとコマンドを備えたIDEを使用すると、テスターはIDEの軽量コマンド言語であるSeleneseを使用して、ブラウザの操作を記録、編集、再生できます。この記事では、スクリプトの記録、Seleneseの手動記述、AssertとVerifyの選択、ブレークポイントを使用したデバッグについて説明します。

  • 🎬 最初に記録する: Selenium IDEは、ブラウザの操作中にクリック、入力、およびアサーションを自動的にキャプチャします。
  • 🧩 セレネ語: 各コマンドには、コマンド名、オプションのターゲット、およびオプションの値があり、パラメータは最大で2つまでです。
  • 🛑 アサートと検証: Assertはテストが失敗した場合にテストを停止します。Verifyは失敗をログに記録し、次のステップに進みます。
  • 🔍 3種類のコマンド: アクションはページと対話し、アクセサーは状態を変数に読み込み、アサーションは条件をチェックします。
  • 🐞 デバッグ支援ツール: 「コマンドの実行」、「開始点」、「ブレークポイント」、「ステップ」機能を使用して、一度に1つのコマンドを検査または再実行できます。
  • 🤖 AI ブースト: AI テストツールは Selenese を自動生成し、堅牢なロケーターを提案し、IDE スクリプトを Selenium WebDriverコード。

パスワードを解読(ハッキング)する方法とは?

我々は、使用します Mercury テスト対象のウェブアプリケーションとしてツアーウェブサイトを使用します。これは、このチュートリアルに必要なすべての要素を含むオンラインフライト予約システムです。その基本は URL is https://demo.guru99.com/test/newtours/.

最初のテスト スクリプトを作成しましょう。 Selenium IDEでは、最も一般的な方法である記録機能を使用します。その後、再生機能を使用してスクリプトを実行します。

注意: このチュートリアルでは、古典的な Firefox-のみ Selenium IDE 1.x と Firebug を使用して Selenese の基本を導入しました。Firebug は 1990 年に廃止されました。 Firefox 57、そして現代 Selenium IDE は現在 Chrome です / Firefox / 異なるUIを備えたEdgeブラウザ拡張機能。Seleneseの概念、コマンドタイプ、および以下のデバッグ機能は、新しいIDEにもそのまま適用されます。

記録してスクリプトを作成する

ステップ1)

  • 起動する Firefox (NAIST) と Selenium IDE
  • ベース値を入力してください URL: https://demo.guru99.com/test/newtours/.
  • Toggl録画ボタンをオンにします(デフォルトでオンになっていない場合)。

Selenium Base搭載IDE URL 設定および録画ボタンがオンに切り替わりました

ステップ2) In Firefox、 案内する https://demo.guru99.com/test/newtours/. Firefox 以下のようなページが表示されるはずです。

Mercury ツアーホームページ Firefox

ステップ3)

  • ページ内の空白部分を右クリックします。たとえば、 Mercury 左上隅にツアーのロゴがあります。 Selenium IDEのコンテキストメニュー。 しないでください ハイパーリンクされたオブジェクトまたは画像をクリックしてください。
  • まず 利用可能なコマンドを表示する オプションを選択します。
  • 選択する assertTitle exact: Welcome: Mercury Toursこのコマンドは、ページタイトルが正しいかどうかを確認します。

Selenium IDEのコンテキストメニューに「利用可能なコマンドを表示」を追加する

Selenium assertTitleコマンドが追加されたことを表示するIDEエディタ

ステップ4)

  • ユーザー名 テキストボックス Mercury ツアー、無効なユーザー名を入力してください invalidUNN.
  • パスワード テキストボックスに無効なパスワードを入力してください invalidPWD.

無効なユーザー名が入力されました Mercury ツアー申込書

無効なパスワードが入力されました Mercury ツアー申込書

ステップ5) クリック サインイン Firefox 以下のページが表示されるはずです。

Mercury ツアーのサインイン失敗ページ

ステップ6) Toggl録画を停止するには、録画ボタンをオフにしてください。これで、スクリプトは以下のようになっているはずです。

Selenium IDEは停止後にスクリプトを記録しましたping レコーダー

ステップ7) 記録したテストスクリプトを保存します。 File メニュー、選択 テストケースを保存またはを押す Ctrlキー+S.

テストケースを保存するオプション Selenium IDEファイルメニュー

ステップ8)

  • 保存先フォルダを選択し、名前を付けます。 テストケース 無効なログイン.
  • 詳しくはこちら Save.

保存ダイアログの名前 Selenium IDEテストケース Invalid_login

ステップ9) ファイルがHTML形式で保存されていることに注意してください。

HTML拡張子の保存済みテストケースファイル

ステップ10) 戻る Selenium IDE をクリックして Playback スクリプト全体を実行するためのボタン。 Selenium IDEはすべての操作を忠実に再現します。

Selenium IDEの再生ボタンで記録されたスクリプトを実行します。

はじめに Selenium コマンド – セレネ語

Seleneseは、 Selenium IDE。ルールはシンプルです。

  • Seleneseの各コマンドは最大2つのパラメータを受け入れます。 ターゲット.
  • パラメータは必ずしも必要ではありません。必要なパラメータの数はコマンドによって異なります。

コマンドの種類

セレネーゼでは、コマンドを3つのカテゴリーに分類しています。それぞれのカテゴリーは、スクリプト内で異なる役割を担っています。

ページ要素と直接やり取りするコマンド。例: click クリックした要素と相互作用します。 type テキストボックスに値を入力すると、テキストボックスはその値を返すため、双方向のやり取りが実現します。
アクセサー 値を変数に格納するコマンド。例: storeTitle ページタイトルを読み取って保存するだけで、ページの内容は一切変更しません。
アサーション 条件を検証するコマンド。Seleneseでは、次の3種類のアサーションが利用可能です。 アサート 失敗した場合にテストを停止します。 確認します 失敗をログに記録して続行し、 を待つ 条件が真になるまで一時停止します(デフォルトのタイムアウトは30秒で、オプション > 一般で設定可能です)。

アサートとベリファイ Selenium

以下の図は、テストの途中でチェックが失敗した場合の、AssertコマンドとVerifyコマンドの実行時の動作の違いを示しています。

アサートコマンドの動作を停止するping 失敗時のテスト

ログに記録された失敗後もテストを継続してコマンドの動作を確認する

一般的なコマンド

Command パラメータ数 詳細説明
開いた 0-2 ページを開くには URL.
クリック / クリックして待つ 1 指定された要素をクリックします。
タイプ / タイプキー 2 一連の文字を入力します。
タイトルを検証する / タイトルを主張する 1 実際のページタイトルと予想される値を比較します。
verifyTextPresent 1 指定されたテキストがページ内に存在するかどうかを確認します。
verifyElementPresent 1 特定の要素の存在を確認します。
verifyTable 2 テーブルの内容を期待値と比較します。
ページの読み込みを待つ 1 ページの読み込みが完了するまで実行を一時停止します。
waitForElementPresent 1 指定された要素が現れるまで実行を一時停止します。

Firebug を使用してスクリプトを手動で作成する

それでは、同じテストケースを手動で再現してみましょう。ping コマンド。このチュートリアルでは、Firebug を使用して要素ロケーターを検査します。(現代の Selenium IDEを使用している場合は、Firebugではなくブラウザに組み込まれている開発者ツールを使用してください。

ステップ1) 店は開いています Firefox (NAIST) と Selenium IDE。ベースを入力します URL https://demo.guru99.com/test/newtours/録画ボタンはオフにしてください。

Selenium IDEレコードの切り替えがオフ状態

ステップ2) エディターの一番上の空白行をクリックします。

最初の空白行を選択すると、 Selenium IDEエディター

タイプ open コマンドテキストボックスに入力して、Enterキーを押します。

入力されたコマンドを開く Selenium IDEコマンドフィールド

ステップ3) ナビゲート Firefox ベースに URL Firebug をアクティブ化します。IDE エディターで、以下の行を選択します。 open コマンドと入力 assertTitle正確性を高めるために、オートコンプリートの候補機能を活用してください。

assertTitle のオートコンプリート候補 Selenium IDE

ステップ4) Firebugで展開すると <head> タグを表示 <title>. タイトル値をクリックします (ようこそ: Mercury ツアー)に貼り付けて Target エディターのフィールド。

FirebugからIDEのターゲットフィールドにページタイトルをコピーする

ステップ5) エディターの3番目の空白行をクリックして、 type コマンドフィールドに入力します。Firebugでは、 検査する

追加されるコマンドを入力してください Selenium IDEエディター

ユーザー名のテキストボックスをクリックすると、Firebugが対応するHTML要素を自動的に表示します。

Firebugでユーザー名フィールドを検査中 Mercury ツアー

ステップ6) ユーザー名テキストボックスにはIDはありませんが、NAME属性があります。NAMEの値をコピーして貼り付けます。 Target の分野 Selenium IDE

ユーザー名フィールドのNAME属性をコピーする

まだで Target フィールド、接頭辞 userName   name= so Selenium IDE は、NAME 属性が userName.

Selenium 名前がuserNameのIDEターゲットフィールドロケーター

タイプ invalidUN 値フィールドに入力してください。これでスクリプトに3つ目のコマンドが追加されました。 Selenium IDEは大文字と小文字を区別するため、値と属性名はアプリケーションに表示されているとおりに正確に入力してください。

値 invalidUN を指定して、name=userName を対象とするコマンドを入力します。

ステップ7) ty による 4 番目のコマンドを追加しますping type コマンドフィールドに入力します。Firebug の機能を使用してください。 検査する パスワード入力欄のボタン。

Firebugでパスワードフィールドを検査する

NAME属性を貼り付けます(password)を Target フィールド、接頭辞 name=値を次のように設定します。 invalidPW.

Selenium パスワード入力コマンドを追加した後のIDEスクリプト

ステップ8) ty による 5 番目のコマンドを追加しますping clickAndWait コマンドフィールドに入力します。Firebug の機能を使用してください。 検査する サインインボタンをクリックしてください。

Firebugでサインインボタンを検査中

NAME の値を貼り付けます (login)を Target フィールドに name= 接頭辞。

最終マニュアル Selenium 5つのコマンドを含むIDEスクリプト

ステップ9) 以前と同様にテストケースを保存してください。

「検索」ボタンの使用

その もう完成させ、ワークスペースに掲示しましたか? ボタンを押す Selenium IDE は、入力された値が Target このフィールドは、実際にはページ上のUI要素と一致します。

Video Cloud Studioで 無効なログイン 前のセクションのテストケースをクリックし、 Target エントリ ― 例えば、3 番目のコマンド。

「検索」ボタンの横にある Target フィールドイン Selenium IDE

詳しくはこちら もう完成させ、ワークスペースに掲示しましたか?ユーザー名テキストボックス Mercury ツアーページが一時的にハイライト表示されます。

ユーザー名フィールドがハイライトされています Firefox 「検索」をクリックした後

ハイライトは、 Selenium IDEはロケーターを正しく解決しました。もし間違った要素(または要素が何も)ハイライト表示される場合は、スクリプト内のロケーターを修正する必要があります。

コマンドの実行

「コマンドの実行」は、テストケース全体を実行せずに、スクリプトの1行だけを実行します。 実行したい行をクリックして、 アクション > このコマンドを実行する メニューから、または押す X キーボードの

ステップ1) ブラウザが Mercury ツアーホームページ。実行したい路線をクリックしてください。たとえば、 type | userName | invalidUN.

実行用に選択したコマンドを入力してください Selenium IDE

ステップ2) メディア掲載 X キーボードの

ステップ3) ページ上のユーザー名テキストボックスには、 invalidUN.

コマンド実行後にユーザー名フィールドに値が入力されます

このようにコマンドを実行する方法は、 Firefox 現在表示中です。 同じコマンドを実行する Googleのホームページは、という名前のフィールドがないため失敗します userName そこ。

開始点

出発点は Selenium IDEは、実行を開始する行を指定します。 ショートカットキーは S.

開始点を Selenium IDEスクリプト行

上記の例では、再生は3行目から始まります(type | password | invalidPW). テストスクリプトには開始点を1つしか設定できません。 コマンド実行と同様に、開始点は現在表示されているページに依存し、ページが間違っている場合は失敗します。

ブレークポイント

ブレークポイントは Selenium IDEでテストを指定した行で自動的に一時停止するショートカットキーは B.

ブレークポイントインジケーター Selenium IDEスクリプト行

黄色のハイライトは、一時停止中のステップを示しています。 テストケースには複数のブレークポイントを設定できます。

手順

その 手順 このコマンドは、一時停止したテストケースの次の行を実行します。ブレークポイントと組み合わせて使用​​することで、スクリプトをコマンドごとに順番に実行できます。

ステップをクリックする前に、clickAndWait でテストが一時停止しました。

ステップをクリックする前に。 テストケースは行で一時停止しています clickAndWait | login.

ステップをクリックすると、テストは次のコマンドに進みます。

ステップをクリックした後。 その clickAndWait | login コマンドが実行され、次のコマンドで実行が一時停止します(verifyTitle | Sign-on: Mercury Tours次の行はブレークポイントがなくても一時停止します。これが Step の目的です。

ソースビューで他の形式を使用する場合の重要な注意点

HTML以外のソース表示形式に関する注意喚起

Selenium IDE 1.x は HTML 形式でのみ安定して動作します。その他の形式はまだ実験段階です。 HTML以外のソースビューでテストを作成または編集することは推奨されません。バージョン1.9.1時点での既知の問題点は以下のとおりです。

  • HTMLに戻さずに再生機能を使用したり、テーブルビューに戻したりすることはできません。
  • ソースビューにコマンドを追加する最も安全な方法は、コマンドを記録することです。
  • ソースビューでの手動編集は、別のフォーマットに切り替えると失われます。
  • ソースビューでテストケースを保存できますが、 Selenium IDEがファイルを再度開くことができない場合があります。

Seleneseのテストを他の言語に変換する推奨方法は、 ファイル > テストケースをエクスポート… メニューであって、ソースビューではありません。

よくあるご質問

遺産 Firefox-のみ Selenium IDE 1.x はサポートされなくなりました。 Selenium IDEはChromeのブラウザ拡張機能です。 Firefoxselenium.devのEdgeは、記録と再生、およびWebDriverコードへのエクスポートをサポートしています。

テストを続行できないような厳しい前提条件(例えば、正しいページが最初に読み込まれる必要があるなど)には、Assert を使用します。フォーム上の複数のフィールドを検証するなど、現在のチェックが失敗しても後続のチェックが価値を持つ場合は、Verify を使用します。

ファイアバグは引退した Firefox 57. ブラウザの組み込みの開発者ツール (F12) または SelectorsHub、ChroPath、Playwright Inspector などの拡張機能を使用して、XPath と CSS ロケーターをキャプチャします。 Selenium スクリプト。

Yes. AI テストプラットフォームはユーザーセッションを監視し、Seleneseコマンドを生成し、堅牢なロケーターを提案し、記録されたスクリプトを Selenium WebDriverコード Java, Pythonまたは Java手作業の手間を大幅に削減したスクリプト。

生成型AIはDOMスナップショットを調べ、壊れにくいロケーターを提案します。壊れやすいXPathよりもデータテスト属性を優先します。自己修復型AIエージェントはUIの変更後にロケーターを自動的に書き換え、ping Selenium IDEスクリプトは緑色です。