Selenium IDE でのストア変数、エコー、アラート、ポップアップ処理

このチュートリアルでは、ストア コマンド、エコー コマンド、アラート、ポップアップ処理について学びます。

Selenium IDE 変数

オンラインショップ

Selenium IDE に変数を保存するには、「store」コマンドを使用します。 以下の図では、値「tutorial」を「myVariable」という名前の変数に保存しています。

Selenium IDE 変数

変数にアクセスするには、変数を ${ … } 記号で囲むだけです。 たとえば、「userName」テキストに「myVariable」の値を入力するにはbox Mercury Tours の場合は、「値」フィールドに「${myVariable}」と入力します。

Selenium IDE 変数

ストア要素現在

このコマンドは、指定された要素の有無に応じて「true」または「false」のいずれかを格納します。 以下のスクリプトは、ブール値「true」を「var1」に、「false」を「var2」に格納します。 確認するには、「echo」コマンドを使用して、var1 と var2 の値を表示します。 下のイラストのベース URL は Mercury Tours のホームページに設定されました。

ストア要素現在

ストアテキスト

このコマンドは、要素の内部テキストを変数に保存するために使用されます。 以下の図では、Facebook のタグの内部テキストを「textVar」という名前の変数に保存しています。

ストアテキスト

これはページ内の唯一の要素であるため、ターゲットとして「css=h1」を使用しても安全です。 以下の画像は、Selenium IDE が値を正しく出力することで、文字列「Sign Up」を「textVar」変数に保存できたことを示しています。

ストアテキスト

アラート、ポップアップ、および複数 Windows

アラートはおそらく最も単純なポップアップ形式です windows。アラートの処理に使用される最も一般的な Selenium IDE コマンドは次のとおりです。wing:

アラート あなたが使用します

アサートアラート

アサートノットアラート

アラートのメッセージを取得し、指定した文字列値にアサートします。

アサートアラート現在

アサートアラートが存在しない

アラートが存在するかどうかをアサートします
ストアアラート アラート メッセージを取得し、指定する変数に保存します。
ストアアラートプレゼント アラートが存在する場合は TRUE を返します。それ以外の場合は FALSEwise

アラートの検証

verifyNotAlert

アラートのメッセージを取得し、それが指定した文字列値と等しいかどうかを確認します。

verifyアラートプレゼント

verifyAlertNotPresent

アラートが存在するかどうかを確認します

アラートを操作するときは、次の XNUMX つのことに注意してください。

  • Selenium IDE はアラート ウィンドウの [OK] ボタンを自動的にクリックするため、実際のアラートを表示することはできません。
  • Selenium IDE は、ページの onload() 関数内のアラートを処理できません。 ページが完全に読み込まれた後に生成されるアラートのみを処理できます。

この例では、storeAlert コマンドを使用して、Selenium IDE が実際のアラートを表示しなかったとしても、そのメッセージを取得できたことを示します。

ステップ1) Selenium IDE で、ベース URL を http://jsbin.com に設定します。 完全な URL は次のとおりです: http://jsbin.com/usidix

ステップ2) 以下のようにスクリプトを作成します。

アラート、ポップアップ、および複数 Windows

ステップ3) スクリプトを実行しても、実際のアラートが表示されるとは期待しないでください。

アラート、ポップアップ、および複数 Windows

確認

確認は、「OK」ボタンのみを表示するアラートとは対照的に、「OK」ボタンと「キャンセル」ボタンを表示するポップアップです。 確認の処理で使用できるコマンドは、アラートの処理で使用できるコマンドと似ています。

  • アサート確認/アサートノット確認
  • アサート確認存在/アサート確認ノット存在
  • 店舗確認
  • 店舗確認プレゼント
  • verify確認/確認しない確認
  • verifyconfirmationPresent/verifyconfirmationnotPresent

ただし、これらは、[OK] ボタンか [キャンセル] ボタンのどちらのオプションを選択するかを Selenium に指示するために使用する必要がある追加コマンドです。

  • 「OKOnNext確認を選択」/「OkOnNext確認を選択して待機」
  • 次の確認でキャンセルを選択してください

これらのコマンドは、確認をトリガーするコマンドの前に使用する必要があります。 box これにより、Selenium IDE はどのオプションを選択すればよいかを事前に知ることができます。 繰り返しますが、実際の確認は表示されません box スクリプトの実行中。

ユーザーが [OK] ボタンを押したか、[キャンセル] ボタンを押したかを示すようにコード化されたボタンがある Web ページをテストしてみましょう。

ステップ1) Selenium IDE で、ベース URL を http://jsbin.com に設定します。

完全な URL は次のとおりです: http://jsbin.com/enifaf

ステップ2) 以下のようにスクリプトを作成します。 今回は先にOKボタンを押します。

確認

ステップ3) スクリプトを実行すると、実際の確認は表示されませんが、Web ページには Selenium IDE がどのボタンを押したかが示されていることがわかります。

確認

ステップ4) 「chooseOkOnNextconfirmation」コマンドを「chooseCancelOnNextconfirmation」に置き換えて、スクリプトを再度実行します。

確認

複数 Windows

別のウィンドウを起動するリンクをクリックしてしまった場合は、そのウィンドウ内の要素にアクセスする前に、まずそのウィンドウを選択するように Selenium IDE に指示する必要があります。 これを行うには、ウィンドウのタイトルをロケーターとして使用します。

切り替えるには selectWindow コマンドを使用します。 windows.

タイトルが「First Window」であるリンク http://jsbin.com/ocinaj/1 を使用します。 そのページにある「ここ」のハイパーリンクは、新しいウィンドウで Facebook を開きます。その後、Selenium IDE に次のことを指示します。wing:

  • 「selectWindow」コマンドとそのタイトルをロケーターとして使用して、親ウィンドウから新しく起動した Facebook ウィンドウに制御を移します。
  • 新しいウィンドウのタイトルを確認する
  • 「selectWindow」コマンドを使用し、ターゲットとして「null」を使用して元のウィンドウを選択し直します。
  • 現在選択されているウィンドウのタイトルを確認します

複数 Windows

ステップ1) ベース URL を http://jsbin.com に設定します。

ステップ2) 以下のようにスクリプトを作成します。

複数 Windows

タイトルにアクセスする前に、新しく起動したウィンドウがロードされるまで待機する「一時停止」コマンドが必要です。

ステップ3) スクリプトを実行します。 注目してください。 テストケース 合格しました。つまり、次の間を切り替えることができました。 windows タイトルを正常に確認します。

複数 Windows

selectWindow のターゲットを「null」に設定すると、親ウィンドウ (この場合、要素「link=here」が見つかったウィンドウ) が自動的に選択されることを常に覚えておいてください。

注: Facebook はチュートリアルの作成以来、タイトルを変更しました。 適宜コードを変更してください

まとめ

  • 「store」コマンド (およびそのすべてのバリアント) は、Selenium IDE に変数を保存するために使用されます。
  • 「echo」コマンドは文字列値または変数を出力するために使用されます。
  • 要素で印刷または使用される場合、変数は ${…} で囲まれます。
  • Selenium IDE はアラートを処理するときに [OK] ボタンを自動的に押します
  • 確認ダイアログを処理するとき、どのオプションを使用するかを Selenium IDE に指示できます。
    • 「OKOnNext確認を選択」/「OkOnNext確認を選択して待機」
    • 次の確認でキャンセルを選択してください
  • ウィンドウタイトルはブラウザを切り替えるときにロケータとして使用されます windows.
  • 「selectWindow」コマンドを使用する場合、ターゲットを「null」に設定すると、Selenium IDE が親ウィンドウを選択するように自動的に指示されます。