ブラウザテストに合成トランザクションを追加する

Web ページ上で様々なインタラクションを必要とするチェックアウトフローなど、複数ステップのユーザーフローをモニタリングする合成トランザクションを追加することで、ブラウザテストをカスタマイズできます。

複数ステップのユーザーフローとトランザクションをテストするために、ブラウザテストで合成トランザクションを使用します。

合成トランザクションとは何ですか?

合成トランザクションは、ログインプロセスやチェックアウトフローのようなビジネスクリティカルなユーザーフローを表す、1 つ以上の論理的に関連するインタラクション(ステップ)のグループです。

Splunk Synthetic Monitoring は、各合成トランザクションに対して以下の追加メトリクスを生成します:

  • 期間: 合成トランザクションの合計期間

  • リクエスト数: 合成トランザクション中に行われたリクエストの総数

  • サイズ: 合成トランザクション中にロードされたコンテンツの合計サイズ

特定のテストで複数の合成トランザクションを作成し、複数のページにわたる複数のワークフローのサイズ、期間、およびリクエストを測定できます。

ステップとは何ですか?

ステップは、ユーザー入力を必要とする Web ページとのインタラクションです。ブラウザテストにステップを追加することで、ユーザーが行う選択やインタラクションをシミュレートし、それに対してアプリケーションがどのように動作するかをテストすることができます。以下はステップの例です。

  • リンクのクリック

  • フィールドへの情報入力

  • ドロップダウンメニューからの値の選択

  • アラートの受信と解除

  • JavaScriptからの値の実行と保存

  • 要素からのテキストの保存

これらのステップに関連する特定のページ要素は、ID、名前、XPATH、 CSS パス、リンク、JS パスによって識別できます。デベロッパーツールを使用して DOM(インスペクタ)および JavaScript(コンソール)を操作し、サイトの要素を識別して操作します。

使用可能なステップのタイプの詳細については「ブラウザテストに含めることができるステップのタイプ」を参照してください。

ステップは独自の専用メトリクスを生成しませんが、属する合成トランザクションのメトリクスにカウントされます。さらに、ステップが新しいページロードをトリガーすると、そのページロードによって一連のページロードメトリクスがトリガーされます。

アサーションとは何ですか?

アサーションは、オブジェクトがどのような状態で存在しているかを確認するためのチェックです。例えば、テキストが存在しているか、エレメントが表示されているかなどです。アサーションはステップの一種です。ブラウザテストに含めることができるアサーションについては ステップタイプの表 を参照してください。

ブラウザテストに含めることができるステップのタイプ

次の表は、アクションに含めることができるステップのタイプを説明しています。

ステップのタイプ

説明

アラートを受け入れる

ページに表示されるアラートを受け入れます。

アサート要素が存在する

要素が非表示の場合でも、DOM に要素が存在しているかどうかを確認します。このアサーションは、要素がロードされたことを確認する必要がある場合(たとえば、要素が非表示のモーダルまたはタブにある場合)にのみ使用します。

アサート要素が可視化されている

要素が存在し、ユーザーに実際に表示されていることを確認します( display != noneopacity > 0、など)。要素が画面上にあり、インタラクト可能であることを確認する場合に、このアサーションを使用します。

例:要素が display: none スタイルの後ろに隠されている場合、「アサート要素が存在する」ステップは成功しますが、「アサート要素が可視化されている」ステップは失敗します。

アサートテキストが存在する

テキストが非表示の場合でも、DOM にテキストが存在しているかどうかを確認します。このアサーションは、テキストがロードされたことを確認する必要がある場合(たとえば、非表示のモーダルやタブ内など)に使用します。

クリア

[Selector] で指定した要素をクリアします。必要に応じて、ナビゲーションを待機します。

クリック

[Selector] で指定した要素をクリックします。必要に応じて、ナビゲーションを待機します。

アラートを解除する

ページに表示されるアラートを解除します。

JavaScript を実行する

[Value] で指定した JavaScript を実行します。必要に応じて、ナビゲーションを待機します。

フィールドに入力する

[Value] フィールドで指定した値を [Selector] で指定したフィールドに記入します。セキュリティと再利用性のために、[Value] フィールドに 組み込み変数カスタム変数グローバル変数 を使用できます。{{custom.your-variable-name}} としてカスタム変数を参照します。必要に応じて、ナビゲーションを待機します。

URL に移動する

URLフィールドで指定したURLに移動します。

Javascriptの戻り値を保存する

[JavaScript] フィールドで指定した JavaScript を実行します。保存する値がスクリプトから返される場合は、保存する値の名前を [Variable] フィールドで指定します。これによりカスタム変数が作成され、以降のステップで {{custom.your-variable-name}}として参照できます。必要に応じて、ナビゲーションを待機します。

要素からテキストを保存する

Selector で指定した要素のテキストを、Variable で指定した変数として保存します。

選択する

[Selector] で指定した要素を選択します。[Value] で指定した値を選択します。必要に応じて、ナビゲーションを待機します。

iframeに切り替える

Selector で特定されるインラインフレーム内の埋め込み文書へフォーカスを切り替えます。

メインに切り替える

フォーカスをウェブページのメインフレームに戻します。

待機する

一定時間(分)待機します。「設定可能な待ち時間の制限とデフォルト」を参照してください。

ブラウザテストに合成トランザクションを追加する

以下の手順に従って、合成トランザクションを使用したブラウザテストを作成してください。

  1. Splunk Synthetic Monitoring のランディングページから、[Add new test > Browser test] をクリックして 新しいブラウザテストを作成 します。

  2. ブラウザテストの作成時に、[Edit steps or synthetic transactions] を選択します。 現在の設定とディテクターの選択は保持され、[Add synthetic transactions] ビューが開きます。

  3. Log inBegin search など、合成トランザクションの名前を入力してください。

  4. 合成取引の最初のステップの名前を入力します。

  5. プルダウンメニューから ステップのタイプ を選択します。

  6. ステップのタイプによって、[Selector] で要素を指定する必要がある場合は、次のように入力します。

    • Selector type:セレクターのタイプ(ID、名前、XPATH、CSSパス、リンク、JS パス)を指定します。

    • Selector path:選択したセレクターのタイプに従って、使用するセレクターを特定するためのパスを指定します。

  7. Valueを入力する必要があるステップタイプの場合は、生の値を入力するか、組み込み変数、カスタム変数、グローバル変数を使用できます。[Variables] タブで変数名を選択してコピーし、入力したいフィールドに貼り付けることができます。

  8. ステップタイプに [Wait for navigation] のオプションがある場合、指定したアクションが実行されるまでに 2 秒の遅延をテストに与えたい場合は、チェックボックスをオンにします。

  9. (オプション)[+ Step] ボタンと [+ Synthetic transaction] ボタンを使用して、追加のステップと合成トランザクションを作成します。ステップと合成トランザクションをクリックしてドラッグすると、順序を並べ替えることができます。

  10. (オプション)[Test settings] タブを使用して、テストの構成設定を調整します。詳しくは「高度なテスト設定」を参照してください。

  11. (オプション)[Detectors] タブを使用して、テストにディテクターを追加します。詳しくは「ディテクターとアラート」を参照してください。

  12. トランザクションブラウザテストが完了したら、[Save] を選択します。