このセクションでは、SOAtest の Web 機能テスト (クロス ブラウザー テスト) の概要を説明します。このセクションの内容:

Web テスト

自動テストに関連する誤検知やメンテナンスの問題のために、手動テストが優先され、自動 Web テストが放棄されることはよくあります。SOAtest は、スクリプトを使う必要なく、複数のブラウザーにわたって個々のアプリケーション コンポーネントを分離してテストし、その機能の正しさをテストすることで、自動化された Web テストの障壁を取り除きます。動的データをスタブ化して定数データを使用することで、テスト ケースのノイズを削減できます。検証は、ページ オブジェクト レベルだけでなく、 HTTP メッセージ レベルでも実行できます。また、非同期メッセージのスタブ化によって、想定される状況と想定外の状況の両方について、クライアント サイド JavaScript エンジンを検証することもできます。

ブラウザー操作の記録とクロス ブラウザー

Web テストの最初のステップは、「ブラウザー操作の記録と再生」で説明するブラウザー 操作の記録です。

一度テストを作成したら、「機能テストの実行」で説明するようにテストを実行できます。

Web シナリオの拡張と再利用

目標を達成するために、記録した Web シナリオを迅速に拡張することができます。以下の例は、Web シナリオを拡張して再利用するための一般的なプラクティスです。

対応ブラウザー

次のブラウザーが再生にサポートされています。
  • Firefox 47.0.2 以前
  • Google Chrome
  • Internet Explorer 11
  • Microsoft Edge Windows Anniversary Edition (バージョン 38.14393)+ (詳細については Microsoft Edge Notes を参照)
  • Chromium ベースの Edge ブラウザー バージョン 79 以降 (詳細については Microsoft Edge Notes を参照)

デスクトップ ブラウザーを介してモバイル インターフェイス テストを実行することもできます。詳細については、 「モバイル インターフェイスのテストモバイル インターフェイスのテスト」で説明します。

Firefox の注意事項

  • Firefox 3 以降では、ファイル入力 (アップロードするファイルの参照を許可する入力) の記録と再生はサポートしていません。
  • Firefox が自動更新の最中の場合 (つまり、更新がダウンロードされたがまだインストールされていない場合)、Web シナリオが正しく再生されない場合があります。Virtualize は Firefox を起動し、Firefox はアドオンの互換性を確認するダイアログを開きます。これにより再生が失敗します。この問題が起きた場合は、SOAtest/Virtualize の外で Firefox を起動して更新のインストールを完了します。更新が完了したら、Web シナリオを通常どおり再生できます。

Internet Explorer の注意事項

  • Internet Explorer を使用する前に、「Internet Explorer の設定」を参照してください。

  • Internet Explorer 9 または 10 では、イベント リスナーを登録するときに addEventListener() を使用することを推奨します。ただし、IE 固有のイベント モデルである attachEvent() を使用している場合、IE 固有のモデルを使って Virtualize に JavaScript イベントをエミュレートさせるには、以下のように  <INSTALL>\plugins\com.parasoft.ptest.libs.web_<VERSION>\root\browsers\ie\ ディレクトリの HTMLUtil.js を手動で更新する必要があります。

    "ext.HTMLUtil.preferLegacyEventModel = false;"
    を以下に変更します。
    "ext.HTMLUtil.preferLegacyEventModel = true;"

  • Internet Explorer 9 を初めて起動すると、「The Recorder Registrar is now ready to use」という警告ダイアログが表示されます。Web シナリオを正しく記録および再生することを保証するために [有効にする] ボタンをクリックする必要があります。最良の結果のために、[有効にする] ボタンをクリックした後にブラウザーをいったん閉じてから再び開くことを推奨します。

  • モーダル ダイアログでのファイル入力はサポートされません
  • Internet Explorer 8 以降では、ファイル入力 (アップロードするファイルの参照を許可する入力) の記録と再生はサポートしていません。

Chrome の注意事項

  • Linux で Chrome の実行ファイルへのパスを指定する場合、 chrome ではなく google-chrome (たとえば /opt/google/chrome/google-chrome) を選択してください。Windows ではこのパスは通常 C:\Users\usernane\AppData\Local\Google\Chrome\Application\chrome.exe です。Mac では通常 /Applications/Google Chrome.app です。
  • 記録した Web シナリオの最後のステップに対するブラウザーの内容がキャプチャされなかった場合、Web シナリオを再生してこの内容をキャプチャできます。なお、この現象が発生するのは、ブラウザー ウィンドウを閉じて記録を停止した場合です。推奨するベスト プラクティスは、ブラウザー ウィンドウを閉じるのではなく、[記録の停止] ボタンをクリックして記録を停止することです。

  • Chrome の場合、非同期リクエスト テストの生成は XMLHttpRequest オブジェクトからのリクエストだけをキャプチャします。非表示の IFrame 呼び出しからの非同期リクエストは検出しません。必要に応じて、そのような非同期リクエストのテストを手動で追加できます。

  • 要素に対してユーザーが作業する場合、 Internet Explorer や Firefox と異なり、Chrome はロケーターがフレーム間で固有であることを保証するために他のフレームをチェックしません。結果として、記録されたアクションが、記録されたフレーム以外のフレームで再生される可能性があります。この予想外の動作があった場合は、固有のロケーターを決定し、Browser Playback Tool で使用されるロケーターを変更してください。

  • 場合によっては、非同期リクエストを発生させるためにはログインが必要です。Firefox および IE はこれを検出し、テスト スイートはこのログインを実行するセットアップ テストを自動的に作成します。そしてログインによって作成された cookie を非同期テストが使用します。Chrome はこれをサポートしません。Chrome の場合、非同期リクエストのテストは SOAtest が生成できますが、ログイン ステップは「セットアップ テスト」または「非同期テストの前に実行されるテスト スイート ツール」として手動でセットアップする必要があります。

  • Chrome では、ファイル入力 (アップロードするファイルの参照を許可する入力) の記録と再生はサポートしていません。
  • Mac 上の Chrome で Parasoft ネイティブ エンジンを使用してシナリオの記録または再生を行う場合、Chrome を閉じるとダイアログが開き、次のメッセージが表示されます。「Google Chrome wants to use your confidential information stored in ’Chrome Safe Storage’ in your keychain.Do you want to allow access to this item?」[Always Allow]を選択しても、 Chrome を起動してから閉じると、毎回このダイアログが表示されます。このダイアログが毎回表示されるのを防ぐには、次の操作を行います。
    • [Applications] > [Utilities] > [Keychain Access] をクリックします。
    • コントロール キーを押しながら [Chrome Safe Storage] をクリックし、ショートカット メニューの [Get Info] をクリックします。
    • [Access Control] に切り替えて [Allow all applications to access this item] を選択し、[Save Changes] をクリックします。続行するには、管理者パスワードを入力する必要があります。

Microsoft Edge の注意事項

使用している Edge のバージョンに合った MicrosoftWebDriver の実行モジュールが必要です。"Unable to launch Microsoft Edge" エラー メッセージが表示された場合、ドライバーのダウンロードが必要なことがあります。詳細については https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver を参照してください。

Chromium ベースの Microsoft Edge ブラウザーのサポートを有効にする

Chromium ベースの Edge ブラウザーでの再生に必要な msedgedriver.exeWebDriver は同梱されていません。 

 次の Web サイトからドライバーをダウンロードできます。

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

ドライバーを <INSTALL>\plugins\com.parasoft.ptest.libs.web_<VERSION>\root\browsers\webdriver\edge\x86\ ディレクトリに保存して、Chromium ベースの Edge ブラウザーのサポートを有効にします。

Microsoft Edge での再生のトラブルシューティング

特権アクセスで SOAtest/Virtualize プロセスが実行中の場合、SOAtest/Virtualize は Edge を起動できません。この問題を解決するには、以下の操作を行ってください。

  1. 「管理者ではないアカウント」または「ユーザー アカウント制御の通知が有効に設定された管理者アカウント」を使用して、非特権プロセスとして SOAtest/Virtualize を実行します。
  2. 管理者ユーザーに対してユーザー アカウント制御の通知を有効化します。

    Windows Home 以外のエディション:

    1. ローカル セキュリティ ポリシー (secpol.msc) を開き、Local Policies/Security オプションの下の ビルトイン Administrator アカウントのための管理者承認モード を有効化します。

    Windows Home エディション:

    1. regedit.exe を起動し、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System を探します。
    2. 存在しない場合、DWORD 値 "FilterAdministratorToken" を作成します。
    3. "FilterAdministratorToken" の値を 1 に設定します。
     
  3. 起動時に [スケジュールされたタスク] から SOAtest/Virtualize を起動している場合、[ユーザーがログオンしているときのみ実行する] オプションを必ず有効化してください。


  • No labels