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

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

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

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

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

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

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

  • Electron

  • JxBrowser

  • NW.js

ヘッドレス・ブラウザ

  • Headless Chrome

  • PhantomJS

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

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

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

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

先頭に戻る

Web アプリへの接続

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

アプリケーションのテストの準備

リモート・デバッグ用のポートが常に開放されるように組み込みブラウザを設定します。

設定方法については、組み込みブラウザのドキュメントを確認してください。

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

CEF の例:

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

UFT One オプションの定義

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

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

UFT One マシンの準備

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

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

プログラムによるアプリへの接続またはアプリからの切断

UFT One をアプリケーションに接続する場合、またはアプリケーションから切断する場合は、次のステートメントをテストまたはコンポーネントに追加します。

  • WebUtil.AttachRemoteDebugging

    例:

    Webutil.AttachRemoteDebugging "127.0.0.1:3056",default,"C:\downloads\chromedriver.exe"
  • WebUtil.DetachRemoteDebugging

これらのステートメントでは、Web アプリのリモート・アドレスとリモート・デバッグ・ポート番号を指定します。

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

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

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

UFT One には、CEF、Electron、および JxBrowser アプリケーションをテストするための ChromeDriver が含まれています。この ChromeDriver のバージョンは、UFT One 使用可能製品マトリクス』にあります。

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.jsWebDriver が UFT One インストール・フォルダに存在することを確認してください。

次の手順を実行します。

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

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

先頭に戻る

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

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

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

    Machttp://macappstore.org/socat/

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

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

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

    ここで、

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

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

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

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

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

先頭に戻る

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 では記録はサポートされていません。

先頭に戻る

その他の参照項目: