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

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

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

UFT One には,CEF,Electron,JxBrowser,NW.js フレームワーク,Microsoft Edge WebView2 アプリを使用する場合,次の既知の問題があります。

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

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

  • ナビゲートして学習

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

  • ActiveScreen

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

  • 低レベルの記録

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

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

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

  • * about://* ページ

  • * chrome://* ページ

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

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

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

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

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

  • ブラウザのメソッド

    注:CEF アプリケーションでは,次のブラウザ・メソッドはサポートされていません。 

    OpenNewTabCloseClearCacheDeleteCookiesCloseAllTabsFullScreenMaximizeMinimizeDialogExistsHandleDialog,Quit,Restore

    他のすべてのブラウザ・メソッドは,テストの実行中にのみサポートされます。

チェックポイント

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

記録

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

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

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

スパイ

Electron のみ:

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

これにより,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 アドレスを使用してください。

Microsoft Edge WebView2 のみ

Microsoft Edge WebView2 では,オーディオ・ファイルやビデオ・ファイルの自動再生が有効になりません。そのため,Microsoft Edge WebView2 アプリケーションで WebAudio.Play メソッドと WebVideo.Play メソッドを初めて実行するとき,これらのメソッドは機能しません。

回避策:WebAudio.Play メソッドと WebVideo.Play メソッドを実行する前に,最初にアプリケーションでオーディオ・ファイルまたはビデオ・ファイルを手動で再生しておきます。

プロセスの手動での終了

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

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

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

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

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

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

先頭に戻る

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

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

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

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

  • 記録

  • オブジェクト・スパイ

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

  • ナビゲートして学習

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

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

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

ヘッドレス・ブラウザで Web テストを実行する場合,次のテスト・オブジェクトとメソッドはサポートされていません。

Headlesss Chrome のみ

  • WebAgGrid および UIGrid オブジェクト

  • Browser.Maximize および Browser.Minimize メソッド

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

AI オブジェクト認識を使用するステップを実行する際にサポートされないメソッド

Headless Chrome で AI オブジェクト認識を使用するステップを実行する場合,次のメソッドはサポートされません。

  • Hover

  • ScrollOnObject

  • Scroll

  • DoubleClick

  • RightClick

  • LongClick

  • AIUtil.Context.SetBrowserScope BrowserWindow

  • AIUtil("combobox").Select は,UFT One がオブジェクトを WebList として識別できる場合にのみサポートされます。

AI ベースのテストは,他のヘッドレス・ブラウザではサポートされていません。

再生の種類

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

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

先頭に戻る

その他の参照項目: