既知の問題 - 埋め込みフレームワークとヘッドレス・ブラウザ

このトピックでは、UFT Oneを使用して埋め込みフレームワークおよびヘッドレス・ブラウザで Web アプリをテストする際の既知の問題を示します。

Chromium Embedded Framework (CEF) / Electron / JxBrowser / NW.js

CEF、Electron、JxBrowser、NW.js フレームワークで作業する場合、UFT One には次の既知の問題があります。

サポートされていない機能

CEF、Electron、JxBrowser、NW.js アプリで作業する場合、次の機能はサポートされていません。

  • ナビゲートして学習

  • ドラッグ・アンド・ドロップ

  • ActiveScreen

  • Web オプション([ツール]>[オプション]>[GUI テスト]タブ>[Web]ノード)

  • 低レベルの記録

JxBrowser では、複数のタブまたはウィンドウでのテストの実行はサポートされていません。

サポートされていないオブジェクトとメソッド

CEF、Electron、JxBrowser、NW.js アプリで作業する場合、次のオブジェクトとメソッドはサポートされていません。

  • * about://* ページ

  • * chrome://* ページ

  • ブラウザのダイアログ・ボックス(アラート、確認、プロンプトなど)

  • ブラウザのメソッド

  • モーダルまたはモーダレス・ダイアログ・ボックス

  • WebFile テスト・オブジェクト

  • ViewLink テスト・オブジェクト

  • WebAgGrid および WebUIGrid オブジェクト
  • WebXML テスト・オブジェクト

チェックポイント

標準、ビットマップ、テキスト/テキスト領域チェックポイントのみがサポートされています。

記録

記録中に、ページが完全にロードされた後にページ移動スクリプトが表示され、直接記録を続けると、スクリプトでエラーが発生する可能性があります。

正しいスクリプトがエラーなしで記録されるようにするには、ナビゲーション・ステップが完全に記録されるまで待ってから続行してください。

ナビゲーション・ステップがまったく記録されない場合は、手動で追加してください。

スパイ

Electron のみ:

サイズとタイトルが同じである 2 つの Electron ウィンドウをスパイする場合は、オブジェクトのスパイや追加を行う前に、一方のウィンドウのサイズを変更してください。

これにより、UFT One は各ウィンドウを一意に識別できるようになります。

オブジェクトの識別

UFT One 15.0 以前:リンクをクリックしたり検索を実行したりするなど、クロスドメイン iFrame 内を移動した後、UFT Oneがオブジェクトを認識しようとするときに、予期しない動作をします。

アプリケーション内のオブジェクトの強調表示

UFT One の Web 2.0 アドイン・テスト・オブジェクトを含む Web Extensibility ベースのテスト・オブジェクトで作業する場合、強調表示を行っても、期待される領域が常に強調表示されるとは限りません。

Electron オブジェクトのみ

UFT One は、サンドボックス・モードで実行されている場合にのみ、Electron フレームワークのアプリケーションをサポートします。

たとえば、-enable-sandbox コマンドを使用してアプリケーションを起動した場合などです。

CEF オブジェクトのみ

UFT One が CEF アプリケーションのオブジェクトを認識できるようにするには、次の手順を実行します。

デフォルトでは、UFT One は、アプリケーションの Web 要素コンテナのウィンドウ・クラス名の先頭が Chrome_WidgetWin であると想定しています。

先頭が Chrome_WidgetWin でない場合は、次のようにしてください。HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\Packages\WebPackage\Settings\CEFWindowClassPrefix レジストリ・キーの値を変更します。アプリケーションの Web 要素コンテナで使用されているウィンドウ・クラス名プレフィックスを入力します。

注意: 後方互換性を考慮して、一部のレジストリ・キーには以前の会社のブランドが意図的に使用されています。

ローカライズされたバージョンの UFT One

UFT One のローカライズされたバージョンで作業する場合、CEF、Electron、または JxBrowser オブジェクトを含むアプリケーションにローカルホストを介して接続すると、エラーが発生する可能性があります。

このような場合は、代わりに 127.0.0.1 IP アドレスを使用してください。

プロセスの手動での終了

次の状況では、WebDriverHost.exe または chromedriver.exe プロセスを手動で終了しなければならない場合があります。

  • UFT One の接続先のポートが間違っていた場合

  • アプリケーションが正常に終了しなかった場合

このような場合、CEF/Electron/JxBrowser/NW.js アプリケーションで作業するときに、予期しない動作を回避するため、これらのプロセスを手動で終了する必要があります。

ヒントWebUtil.DetachRemoteDebugging メソッドをテストに追加して、テスト中にこれらのプロセスを終了します。アプリケーションの IP アドレスとポートを使用してメソッドを定義します。

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

先頭に戻る

Shadow DOM

Shadow DOM を使用する場合、UFT One には次の既知の問題があります。

ブラウザ

Shadow DOM で開発されたアプリのテストは、Chrome でのみサポートされています。

開発モード

Shadow DOM で開発されたアプリのテストは、Shadow DOM オープン開発モードが使用された場合にのみサポートされます。

例:

"mode: 'open'"

サポートされていないプロパティ

次のプロパティはサポートされていません。

  • css
  • xpath
Web 2.0

Web 2.0 テクノロジで作成されたテスト・オブジェクトは、UFT One による Shadow DOM のサポートの対象ではありません。

先頭に戻る

ヘッドレス・ブラウザでのテスト

PhantomJS および Headless Chrome を使用する場合、UFT One には次の既知の問題があります。

サポートされている Chrome のバージョン Headless Chrome は、Chrome バージョン 60 以降でのみサポートされています。
記録 PhantomJS ツールキットまたは Headless Chrome での記録はサポートされていません。
データ駆動 テストをデータ駆動する場合は、テスト実行の失敗を防ぐために、各反復の最後に Browser.CloseAllTabs メソッドを追加することをお勧めします。
サポートされていない機能

PhantomJS アプリを使用する場合、次の機能とオブジェクトはサポートされていません。

  • 記録

  • オブジェクト・スパイ

  • アプリケーション内で強調表示

  • ナビゲートして学習

  • オブジェクト・スパイの[ローカルへオブジェクトを追加]ボタン

  • ドラッグ・アンド・ドロップ機能

サポートされていないテスト・オブジェクトとメソッド

Headlesss Chrome のみ

WebAgGrid および UIGrid オブジェクト

PhantomJS のみ:

  • 大きなページソースで CaptureBitmap メソッドを使用してテストを実行すると、一般実行エラーがスローされます。

  • ブラウザのダイアログ(アラート、確認、プロンプトのダイアログなど)

  • 次のテスト・オブジェクト・メソッドとアプリケーション・オブジェクトはサポートされていません。

    • role=link プロパティによって作成された Link オブジェクト

    • WebAudio

    • role=button プロパティによって作成された WebButton

    • role=list プロパティによって作成された WebList

    • WebMenu

    • role=table または role=grid プロパティによって作成された WebTable

    • WebTabStrip

    • WebTree

    • WebVideo

PhantomJS / Headless Chrome:

次のテスト・オブジェクト・メソッドとアプリケーション・オブジェクトはサポートされていません。

  • about://* ページ

  • iFrame またはクロスドメイン iFrame オブジェクト

  • Web 2.0 テクノロジ(ASAP .NET AJAX、Dojo、Google Web Tools、jQueryUI、SiebelOpenUI、および YahooUI)で作成されたオブジェクト

  • Browser.ClearCache

  • Browser.DeleteCookies

  • Browser.HandleDialog

  • Browser.Home

  • Browser.IsSiblingTab

  • Browser.Object

  • Browser.Stop

  • ViewLink

  • WebFile

再生の種類

マウスの再生の種類はサポートされていません。代わりにイベントの再生の種類を使用してください。

テストの実行 メンテナンス実行モードはサポートされていません。

先頭に戻る

その他の参照項目: