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

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

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

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

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

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

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

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

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

  • Electron

  • JxBrowser

  • NW.js

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

Microsoft Edge WebView2 Microsoft Edge WebView2 で埋め込まれた Web アプリをテストする前に,Web アプリへの接続を参照してください。
ヘッドレス・ブラウザ

注:PhantomJS ツールキットまたは Headless Chrome での記録はサポートされていません。

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

先頭に戻る

Web アプリへの接続

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

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

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

    組み込みブラウザのバージョンと一致する Web ドライバがコンピュータに格納されていることを確認します。

    CEF,Electron,および JxBrowser 114 以前

    ChromeDriver を公式 Web サイトからダウンロードします。

    115 以降

    「Chrome for Testing availability」ダッシュボードから Chrome for Testing をダウンロードします。フレームワークのバージョンと一致するバージョンが見つからない場合は,Google Chrome Labs からダウンロードしてください。

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

    chromedriver.exe ファイルを含む NW.js SDK をダウンロードします。

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

    NW.js の場合は,chromedriver.exe ファイルを <UFT One インストール・フォルダ>\bin\WebDriver\NW フォルダにコピーします。

    または,アプリケーションごとに異なるバージョンの ChromeDriver を使用することもできます。chromedriver.exe ファイルを別々の場所に保存し,WebUtil.AttachRemoteDebugging の呼び出しで,該当する ChromeDriver のパスを指定します。

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

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

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

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

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

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

      この方法を使用するには,2 番目の手順を実行する必要があります。

      詳細については,[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 はアプリケーション内のオブジェクトを識別できません。

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

先頭に戻る

リモート・マシンでの接続の設定

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 でテストを実行する前に,準備としていくつかの手順を実行する必要があります。

Headless Chrome でテストを実行する準備をするには,次の手順を実行します。

  1. UFT One とともにインストールされた ChromeDriver が,使用している Headless Chrome のバージョンと一致するかどうかを確認します。一致していない場合は,次の表を参照して正しい ChromeDriver を入手してください。

    Headless Chrome 114 以前 ChromeDriver を公式 Web サイトからダウンロードします。
    Headless Chrome 115 以降

    「Chrome for Testing availability」ダッシュボードから Chrome for Testing をダウンロードします。フレームワークのバージョンと一致するバージョンが見つからない場合は,Google Chrome Labs からダウンロードしてください。

    <UFT One インストール・フォルダ>\bin\WebDriver ディレクトリにある chromedriver.exe ファイルを正しい chromedriver.exe ファイルに置き換えます。

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

  3. AI オブジェクト認識を使用するステップを実行する場合は,テストするすべてのコントロールが表示されるように,デフォルトのブラウザ・サイズを大きくすることをお勧めします。

    ブラウザ・サイズは,--window-size パラメータ(単位:ピクセル)によって制御されます。

    ブラウザ・サイズ設定を <UFT Oneインストール・フォルダ>\bin\mic.ini ファイルの末尾に追加します。次に例を示します。

    Copy code
    [ChromeHeadlessOption]
    --window-size=1920x1080

先頭に戻る

PhantomJS でのテストの実行

既存のテストを変更せずに,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 を起動し,ツールキットでテストを実行します。

先頭に戻る

その他の参照項目: