埋め込みフレームワーク/ヘッドレス・ブラウザ

このトピックでは,埋め込みフレームワークで Web アプリのテストを開始する方法,またはヘッドレス・ブラウザをテストする方法について説明します。

Internet Explorer の組み込みブラウザ・コントロールで Web アプリをテストする方法の詳細については,Internet Explorer の組み込みブラウザ・コントロールを参照してください。

注意: このトピックの手順には,Micro Focus では提供されていない chromedriver.exephantomjs.exe,および WebView2 driver などの実行可能ファイルのインターネットからのダウンロードが含まれています。

Chrome,NW.js,および PhantomJS の公式インターネット・サイトから入手した正規の実行可能ファイルのみを使用することが推奨されます。この推奨に従わないと,システムのセキュリティ・リスクが高まる可能性があります。関連するすべてのリスクについては,お客様が責任を負い,Micro Focus が責任を負うことはありません。

サポートされているフレームワーク/ヘッドレス・ブラウザ

UFT One は,次のフレームワークとヘッドレス・ブラウザで開発された Web アプリで,標準の GUI テスト・サポートを使用してテストを記録および実行できます。

Chromium ベースのフレームワーク
  • Chromium Embedded Framework(CEF)

    Chromium Embedded Framework のサポートは,Java CEF,CEF Sharp,および Adobe CEP に適用できます。このトピックでは,これらのすべてを CEF と総称します。

  • Electron

  • JxBrowser

  • NW.js

Chromium ベースのフレームワークをテストする前に,Web アプリへの接続(Chromium ベースのフレームワークと Microsoft Edge WebView2)を参照してください。

ヘッドレス・ブラウザ
  • Headless Chrome:Headless Chrome をテストする前に,Headless Chromeを参照してください。

  • PhantomJS:PhantomJS をテストする前に,PhantomJSを参照してください。

Microsoft Edge WebView2

Microsoft Edge WebView2 で埋め込まれた Web アプリをテストする前に,Web アプリへの接続(Chromium ベースのフレームワークと Microsoft Edge WebView2)を参照してください。

これらの高度なフレームワークとブラウザは,.NET Web フォーム,Web ベースの SAP,Siebel,Java などの他の Web ベースのアドインではサポートされていません。

高度なフレームワークとブラウザは,Web 2.0 ツールキットなどの Web Extensibility ベースのアドインでサポートされています。

先頭に戻る

Web アプリへの接続(Chromium ベースのフレームワークと Microsoft Edge WebView2)

Chromium ベースのフレームワークおよび Microsoft Edge WebView2 で開発された Web アプリでテストを記録または実行する前に,次の手順を実行します。

Web アプリに接続するには,次の手順を実行します。

  1. Web ドライバを準備します。

    • Chromium ベースのフレームワーク:CEF,Electron,および JxBrowser アプリケーションをテストするための ChromeDriver は,UFT One のインストールで自動的にインストールされます。ただし,別のバージョンが必要な場合は,異なる ChromeDriver バージョンの使用を参照してください。

    • Microsoft Edge WebView2Microsoft Edge WebDriver ダウンロード・ページから WebView2 ドライバをダウンロードします。

      Microsoft Edge WebDriver のバージョンが,WebView2 に埋め込まれたブラウザのバージョンと一致していることを確認してください。

  2. リモート・デバッグ用のポートが常に開放されるように組み込みブラウザを設定します。これを行う方法については,組み込みブラウザのドキュメントを確認してください。

    後続の手順で使用するために,ポート番号をメモします。

    Example: CEF フォルダで,コマンド・プロンプトを開き,次のコマンドを実行します。cefclient.exe --remote-debugging-port=<ポート番号>

    正式な WebView2 アプリケーションがデバッグ・ポートをリッスンする場合,環境変数 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS を追加し,その値を --remote-debugging-port=<ポート> に設定するのが標準設定の方法です。

  3. 次のいずれかを実行して,Web アプリに接続します。

    • [オプション]ダイアログ・ボックスの[リモート接続]表示枠で,Web アプリのリモート・アドレスとリモート・デバッグ・ポート番号を追加します。この定義により,UFT はアプリケーションのオブジェクトを特定できます。

      詳細については,[Web]>[リモート接続]表示枠([オプション]ダイアログ・ボックス>[GUI テスト]タブ)を参照してください。

    • UFT One をアプリケーションに接続する場合は,次のステートメントをテストまたはコンポーネントに追加します。これらのステートメントで,リモート IP アドレス,リモート・デバッグ・ポート番号,および Web ドライバ・パスを指定します。

      Chromium ベースのフレームワーク

      WebUtil.AttachRemoteDebugging "localhost:<port>", "default", "<DriverPath>"

      Microsoft Edge WebView2

      WebUtil.AttachRemoteDebugging "localhost:<port>", "MsEdgeWebView2", "<DriverPath>"

      詳細については,『UFT One Object Model Reference for GUI Testing』の「Utility」の項の WebUtil オブジェクトを参照してください。

      アプリケーションから切断するには,次のステートメントを使用します。

      WebUtil.DetachRemoteDebugging "localhost:<port>"

      注: アプリケーションへの接続を手動で閉じた場合,UFT One はアプリケーション内のオブジェクトを識別できません。

  4. NW.js フレームワークをテストするときは,UFT One マシンで追加の手順を実行します。詳細については,NW.js フレームワークを参照してください。

  5. リモート・マシンで UFT One スクリプトを実行する場合は,テストを実行する前にリモート・マシンでの接続の設定(Chromium ベースのフレームワーク)に進んでください。

異なる ChromeDriver バージョンの使用

UFT One には,CEF,Electron,および JxBrowser アプリケーションをテストするための ChromeDriver が含まれています。この ChromeDriver のバージョンは,サポート・マトリクスにあります。

Chromium ベースのフレームワークに別の ChromeDriver バージョンが必要な場合は,次のいずれかを実行します。

  • <UFT One インストール・フォルダ>\bin\WebDriver ディレクトリで,chromedriver.exe ファイルをアプリケーションに一致するバージョンに置き換えます。

  • chromedriver.exe の 1 つ以上のバージョンを UFT One コンピュータに保存します。WebUtil.AttachRemoteDebugging メソッドを呼び出す際に,該当する chromedriver.exe へのパスを指定します。

詳細については,http://chromedriver.chromium.org/downloads を参照してください。

NW.js フレームワーク

UFT One は,NW.js フレームワークに組み込まれている Web アプリをテストするために,NW.js WebDriver を介して NW.js フレームワークと通信します。

NW.js アプリケーションをテストする前に,次の手順を実行して NW.js WebDriver が UFT One インストール・フォルダに存在することを確認してください。

  1. chromedriver.exe ファイルを含む NW.js SDK をダウンロードします。
  2. chromedriver.exe ファイルを <UFT One インストール・フォルダ>\bin\WebDriver\NW フォルダにコピーします。

アプリケーションに応じて,異なるバージョンの NW.js WebDriver を使用できます。chromedriver.exe ファイルを別々の場所に保存し,WebUtil.AttachRemoteDebugging の呼び出しで,該当する WebDriver へのパスを指定します。

先頭に戻る

リモート・マシンでの接続の設定(Chromium ベースのフレームワーク)

Chromium ベースのフレームワークを使用し,リモート・マシンで UFT One スクリプトを実行する場合は,追加でリモート・マシンを次のように設定します。

  1. 次のいずれかの場所から socat をインストールします。

    Machttp://www.dest-unreach.org/socat/download/

    Windowshttps://github.com/tech128/socat-1.7.3.0-windows

  2. socat コマンドを実行します。

    socat tcp-listen:<x>,fork tcp:localhost:<y>

    ここで,

    <x> は,UFT One がアクセスを試みるターゲット・マシンのポート番号です。

    <y> は,ターゲット・マシンでデバッグ用に開放されている CEF リモート・デバッグ・ポートです。

  3. ファイアウォールを無効にするか変更して,該当するポートを許可します。

これで UFT One が,<x> で定義したポートを介してリモート・アプリケーションと連携できるようになります。

詳細については,http://stackoverflow.com/questions/6827310/chrome-remote-debugging-doesnt-work-with-ip を参照してください。

先頭に戻る

Headless Chrome

Headless Chrome のテストを記録または実行する前に,次の作業を行ってください。

  1. UFT One とともにインストールされた ChromeDriver が,使用している Headless Chrome のバージョンと一致するかどうかを確認します。

    一致しない場合は,<UFT One インストール・フォルダ>\bin\WebDriver ディレクトリにある chromedriver.exe ファイルを,アプリケーションと一致するバージョンに置き換えます。

  2. 記録と実行環境設定]ダイアログ・ボックスで,ブラウザとして[Google Headless Chrome]を選択します。

先頭に戻る

PhantomJS

既存のテストを変更せずに,PhantomJS ツールキットでテストを実行します。

これを行うために,次の手順を実行します。

  1. phantomjs.exe ファイルを <UFT One インストール・フォルダ>\bin\PhantomJS フォルダに追加します。

    このファイルは,PhantomJS ダウンロードの一部として入手できます。詳細については,http://phantomjs.org を参照してください。

  2. [記録と実行環境設定]で,ブラウザとして[PhantomJS]を選択します。

  3. UFT One は,新しい WebDriver バージョンを使用しますが,このバージョンでは PhantomJS がサポートされません。Phantom JS がサポートされるように WebDriver をダウングレードするには,次の手順を実行します。

    <UFT One インストール・フォルダ>\bin フォルダ内の WebDriver.dll ファイルと WebDriverHost.exe ファイルを <UFT One インストール・フォルダ>\bin\WebDriver\3.0.1.0 内のファイルに置き換えます。

テストを実行すると,UFT One はインストールされたバージョンの PhantomJS を起動し,ツールキットでテストを実行します。

注: PhantomJS では記録はサポートされていません。

先頭に戻る

その他の参照項目: