既知の問題 - GUIテストの編集

関連:GUI テストおよびコンポーネント

このトピックでは,GUI テストの編集に関する既知の問題について説明します。

スパイ

オブジェクト・スパイのホバー・モード

比較 オブジェクト・スパイの比較機能では,ホバー・モードが無効になります。たとえば,ホバー・モードを使用してスパイした後,[比較]をクリックした場合は,クリックして二次オブジェクトをスパイする必要があります。
キャンセル

ホバー・モードでのスパイのキャンセルはサポートされていません。

常に手前に表示

ホバー・モードのオブジェクト・スパイでは,[常に手前に表示]はサポートされていません。

論理名の定義 ホバー・モードでスパイする場合,[オブジェクトの認識]ダイアログ・ボックスで定義される論理名の定義は使用されません。

オブジェクト認識センターのみ

表示倍率の確認

Internet Explorer または Edge の IE モードを使用している場合,または JavaFX コントロールを使用している場合: 

UFT One がオブジェクトの場所を正しく認識できない場合,ページを拡大または縮小せず 100% で表示していることを確認してください。

たとえば,90% または 120% の倍率でページを表示すると,オブジェクトの右側または左側の部分をクリックまたは選択しないとオブジェクトが認識されない場合があります。

Insight テスト・オブジェクトとテキスト・テスト・オブジェクト OIC は,Insight テスト・オブジェクトとテキスト・テスト・オブジェクトをサポートしていません。
検証
  • 記述と一致する SAPGUI オブジェクトが複数ある場合,検証は正しく機能しません。

  • UIA Pro オブジェクトでは,検証がサポートされていません。

ホバー・モード

ホバー・モードでスパイされるオブジェクトを,オブジェクト・リポジトリやテスト・エディタに正しい階層とプロパティで追加することはできません。

回避策:OIC の通常モードを使用するか,オブジェクト・スパイを使用します。

リモート・オブジェクト・スパイ

OIC でリモート・オブジェクト・スパイを使用する場合,次の問題が知られています。

  • OIC でリモート・オブジェクト・スパイを使用する場合,ホバー・モードはサポートされていません。

  • リモート・オブジェクト・スパイ・モードでは,AI 自動検査はサポートされていません。

  • オブジェクトをスパイした後,しばらくしてからそのオブジェクトをオブジェクト・リポジトリに追加しようとすると,OIC がオブジェクトの追加に失敗することがあります。

    回避策:オブジェクトを再度スパイし,スパイ後すぐにオブジェクト・リポジトリに追加します。

マルチ・オブジェクト・スパイ・セッションの AI オブジェクト マルチ・オブジェクト・スパイ・モードでは,OIC 編集ビューですべてのオブジェクトについて同じ AI オブジェクトの提案が表示されます。これは,最後にスパイしたオブジェクトの AI オブジェクトです。
英語以外のUFT One で作業する場合

[オブジェクト認識センター]表示枠の一部の UI 要素は,英語でハードコードされ,翻訳されていません。

オブジェクト・スパイまたはオブジェクト認識センター

AI オブジェクト検査/強調表示

Firebox ブラウザの下部にステータス・バーがある場合,オブジェクト・スパイまたは OIC で AI オブジェクト検査または強調表示機能を使用すると,UFT One がテスト・オブジェクトの正しい位置を取得できない場合があります。

タップによるスパイが不可能 UFT One は,マウスを使用している場合にのみ,Web ベースのアプリケーションのスパイをサポートします。

SAP アプリケーションのスパイ

Chrome ストアまたは <UFT One インストール・フォルダ>\Installations\Chrome\v3 フォルダで入手可能な最新の拡張機能を使用している場合,次の問題が発生する可能性があります。

オブジェクトをスパイした後,しばらくしてからそのオブジェクトを強調表示したりオブジェクト・リポジトリに追加したりしようとすると,オブジェクト・スパイまたは OIC がその操作に失敗することがあります。

関連する拡張機能を使用しているかどうかを確認する方法:chrome://extensions/ ページに移動し,インストールした拡張機能の[詳細]をクリックします。拡張機能の[ビューを検証]が Service Worker となっています。

回避策:オブジェクトを再度スパイし,スパイ後すぐに操作を実行します。

先頭に戻る

AI オブジェクト認識

[AIオブジェクト検査]ウィンドウ

AI オブジェクト検査を使用して Internet Explorer 上の Web アプリケーションを検査すると,場合によって,UFT One がアプリケーションを黒一色のページであると識別する。

回避策: 

Web ページが完全に読み込まれるまで待ち,[AI オブジェクト検査]ウィンドウで[更新]をクリックします。

テキスト認識 テキスト文字列の中またはその近くにカーソルがある場合,AI オブジェクト検出 OCR がテキストを正しく認識できない可能性があります。AI を使用してテキストを認識または検証する前に,カーソルを別の場所に配置するステップをテストに追加することを検討してください。
デュアル・モニタ

AI ベースのオブジェクトの認識は,プライマリ・モニタでのみサポートされます。したがって,デュアル・モニタで AI オブジェクト検出を使用する場合は,AI ウィンドウとアプリケーションの両方がプライマリ・モニタに表示されていることを確認してください。

この問題は,アプリケーションの検査,フローの記録,およびテストの実行に関連します。

SAP GUI for Windows アプリケーション

SAP GUI アプリケーション・ページで[コンテナ]をオンにしてテーブルを検査すると,[AI オブジェクト検査]ウィンドウでエラーが報告される場合がある。

考えられる原因:

オブジェクトの認識結果を取得するための[AI オブジェクト検査]ウィンドウのセッションがタイムアウトした。

回避策:

  • 標準設定の AI OCR を使用していることを確認します。

  • %LocalAppData%\Learn Tool\Preferences\LearnToolSettings.json ファイルに次の行を追加します。

    "commandTimeout": value

    タイムアウト期間を 60000 ミリ秒(標準設定値)より大きい値に設定します。

先頭に戻る

記録

記述プロパティ UFT One は,ビジュアル関係識別子プロパティを記録しません。

このプロパティは,[オブジェクト プロパティ]ダイアログ・ボックスまたは[オブジェクト リポジトリ マネージャ]ウィンドウから手動で追加する必要があります。

[スタート]メニューまたはクイック起動バー
  • UFT One は[スタート]メニューからの Windows ヘルプの起動を記録しません。

  • メニューとしてカスタマイズされた[スタート]メニュー項目を記録するには,これらのメニュー項目をリンクとしてカスタマイズするか,別の方法でメニュー項目をアクティブ化する操作を記録します。

アプリケーション・オブジェクトへのアクセスの制限

UFT One テスト対象アプリケーションのプロセスへのアクセスが制限されている場合,ステップの記録も実行もできません。

回避策:

  • テスト対象アプリケーションが,UFT One と同じ Windows ユーザによって開始されるようにします。

  • ユーザまたはテスト対象アプリケーションが UFT One によるアプリケーション・プロセスへのアクセスを積極的に妨げることのないようにします。

記録セッション中のアプリケーションの変更

記録中にウィンドウのタイトルが変更されると,UFT One は,テストまたはコンポーネントの実行中に,そのウィンドウ内のオブジェクトを認識できなくなることがあります。

回避策:[オブジェクト リポジトリ]ウィンドウ内で,ウィンドウのテスト・オブジェクト記述からテキスト・プロパティを削除します。

Insight オブジェクトの記録

Insight 記録セッション中に,アプリケーション・ウィンドウを移動する操作を実行すると,予期しない親オブジェクトが記録されます。このステップで使用される親オブジェクトは,操作の実行後にクリックされた場所にあるオブジェクトです。

例:電卓アプリケーションで最小化操作を記録すると,電卓が閉じ,デスクトップ・ウィンドウを親としてステップが記録されます。

Window("calculator").InsightObject("").Click
Window("calculator").InsightObject("").Click
Window("calculator").InsightObject("").Click
Window("Program Manager").InsightObject("").Click

回避策:記録されたステップは,その画像が親オブジェクト内で一意であれば,正常に実行されます。それ以外の場合は,オブジェクト・リポジトリ内の正しい親の下にオブジェクトを手動で移動し,ステップを調整できます。

リモートの Windows 10 または 11 マシンでの Insight オブジェクトの記録

リモートの Windows 10 または 11 マシンで Insight 記録セッションを開始すると,アプリケーション画面上でマウス・カーソルが飛ぶ場合があります。

回避策:

  1. 管理者権限で gpedit.msc を起動します。
  2. ローカル・グループ・ポリシー・エディタで,以下のパスに移動し,[リモート デスクトップ接続に WDDM グラフィック ディスプレイ ドライバーを使用する]を[無効]に設定します。

    [ローカル コンピューター ポリシー]>[コンピュータの構成]>[管理用テンプレート]>[Windows コンポーネント]>[リモート デスクトップ サービス]>[リモート デスクトップ セッション ホスト]>[リモート セッション環境]

次の Insight オブジェクトの記録

一部のアプリケーションでは,ウィンドウを開く操作を実行し,Insight オブジェクトを正常に記録した後,同じウィンドウで別の Insight オブジェクトを記録しようとすると,ウィンドウがすぐに閉じます。

回避策:最初の Insight オブジェクトの記録が終了したら,オブジェクト・リポジトリ内のオブジェクトに skipmakeobjvisible プロパティを追加し,値を True に設定します。

AI オブジェクトの記録

AI オブジェクト記録セッションで,コンボ・ボックスが正しく記録されない場合がある。

回避策:AI オブジェクト検査を使用します。

先頭に戻る

アクション

アクション内のテスト名

あるテスト内に,別のテストに保存されているアクションの呼び出しが含まれ,そのテストの名前が ALM で変更された場合,キャンバスには,変更前のテスト名が角括弧で囲まれて表示されます。

キャンバスに古い名前が表示されても,UFT One はアクションを適切に識別し,実行することができます。

正しいテスト名を表示するためには,テストからアクションの呼び出しを削除し,再度挿入してください。

アクションのネスト

新しいアクションを,ネストしたアクションとして外部アクションに追加することはできません。

代わりに,外部アクションを開き,ネストしたアクションへの呼び出しを直接追加します。

テストのコピー

既存のテストのコピーを作成した場合,同じテストから両方のテストの並列アクションの呼び出しを挿入することはできません。

テストをコピーするのではなく,[名前を付けて保存]を使用してテストの複製を作成します。

先頭に戻る

キーワード・ビュー

オブジェクトのプロパティ

キーワード・ビューでステップの Object プロパティを使用する場合,UFT One がアプリケーションからオブジェクトの情報を取得するまでに時間がかかることがあります。

これは,ステップで各種ドロップダウン・リストを開いて選択する際の UFT One の応答時間に影響を与えることがあります。

この現象が発生した場合,Object プロパティを使用するときは,[エディタ]を使用するようにします。

ほかのアクションの呼び出し

別のアクションへの呼び出しを挿入する際,呼び出されるアクションのステップを表示しようとしても,[アクション]ノードを展開できません。

代わりに,呼び出される[アクション]ノードをダブルクリックし,アクション・ステップを別のタブで開きます。

文字列から整数へ

パラメータがバリアントとして定義されている場合,キーワード・ビューが値を文字列として挿入することがあります。

整数パラメータを指定するには,ステップの作成後に値から引用符を手動で削除します。

たとえば,DevExpress Data Grid の行パラメータなど,場合によっては,この処理が必須になります。

必要なパラメータ・タイプの詳細については,『UFT One Object Model Reference for GUI Testing』を参照してください。

AI ベースのテスト・ステップ

キーワード・ビューには AI オブジェクトのステップが表示され,その操作と値を変更できます。

ただし,ステップ・ジェネレータは AI オブジェクトではサポートされず,また,AI オブジェクトはオブジェクト・リポジトリに保存されません。したがって,キーワード・ビュー内からではなく,AI オブジェクト検査または AI オブジェクト記録を使用して AI オブジェクト・ステップを作成することをお勧めします。 UFT One での AI ベースのテストおよびAI ベースのテストの記録を参照してください。

先頭に戻る

回復シナリオ

1 つの回復シナリオで,異なる場所にある同名の関数ライブラリを指定すると,最初の関数ライブラリしか使用されません。

回避策:関数ライブラリの名前が一意になるように変更します。

先頭に戻る

オブジェクト・リポジトリ

  • テストまたはコンポーネント・スクリプトに構文エラーが含まれている状態で,オブジェクト・リポジトリのテスト・オブジェクト名を変更すると,新しい名前はテストまたはコンポーネント・ステップ内で正しく更新されません。

    回避策:テスト オブジェクトの名称変更時にテストとコンポーネントのステップを自動的に更新する]チェックボックス([ツール]>[オプション]>[GUI テスト]>[一般]ノード)をクリアし,ステップ内で手動で名前変更を実行する(推奨)か,構文エラーを解決してから,UFT One でドキュメントを閉じて再度開き,ステップ内に名前変更されたオブジェクトが表示されるようにします。

  • アクションの場合:アクション・パラメータを含むオブジェクト・リポジトリに対して[ローカル オブジェクトのエクスポートと置換]オプションを使用すると,作成したリポジトリ・パラメータがアクション・パラメータの代わりにテスト・パラメータに割り当てられます。

    回避策:エクスポートしたオブジェクト・リポジトリで割り当てを手動で調整します。

  • テスト・オブジェクトをローカル・オブジェクト・リポジトリに追加できるのは,そのアクションまたはコンポーネントに関連付けられている共有オブジェクト・リポジトリに当該オブジェクトが存在していない場合のみです。関連付けられている共有オブジェクト・リポジトリにテスト・オブジェクトがすでに存在する場合は,[ローカルにコピー]オプションを使ってそのオブジェクトをローカル・オブジェクト・リポジトリに追加できます。詳細については,共有オブジェクト・リポジトリ内のオブジェクトのローカル・コピーを参照してください。

  • [オブジェクト リポジトリ]ウィンドウの[ローカルへオブジェクトを追加]ボタンやオブジェクト・リポジトリ・マネージャの[オブジェクトの追加]ボタンを使って WinMenu オブジェクトをオブジェクト・リポジトリに追加することはできません。WinMenu オブジェクトをオブジェクト・リポジトリに追加するには,[オブジェクトの追加]ボタンまたは[ローカルへオブジェクトを追加]ボタンを使ってその親オブジェクトを追加し,親オブジェクトをその子孫とともに追加することを選択するか,または WinMenu オブジェクトに対するステップを記録し,記録されたステップを削除してください。

先頭に戻る

チェックポイントおよび出力値

アクセシビリティ・チェックポイント

ALM では,ALM コンピュータに UFT OneUFT One Add-in for ALM の両方がインストールされている場合にのみ,アセット比較ツールでアクセシビリティ・チェックポイントの比較を表示できます。

ビットマップ・チェックポイント

テキストを含むオブジェクトに対するビットマップ・チェックポイントが失敗することがあります。これは,Remote Desktop Connection を使用してチェックポイント・ステップを作成しローカルで実行した場合や,チェックポイントをローカルで作成してリモート・デスクトップ接続を使ってチェックポイント・ステップを実行した場合に発生します。実行結果で,ビットマップ・チェックポイント結果の[差異の表示]をクリックしたときに表示される画像には,テキスト形状が表示されます。

回避策:リモート・デスクトップ接続アプリケーションでフォントのスムージングを有効にしてください。

データベース・チェックポイント
  • キャプチャされる値の形式は,システムの設定によって異なります。たとえば,日付と時間の値が異なる形式に設定されることがあります。

    回避策:テストを記録したシステムとは別のシステムでテストまたはスクリプト・コンポーネントを実行しようとする場合には,両方のシステムで同じ書式設定が使われていることを確認します。

  • データベース・チェックポイントを,作成したのとは別のマシンで実行する場合,両方のマシンに同じ ODBC ドライバがインストールされていることを確認します。
  • Power Query がコンピュータにインストールされている場合,データベース・クエリ・ウィザードで Microsoft クエリを選択してデータベース・チェックポイントを作成したり,値を出力したりすることはできません。代わりに,[SQL ステートメントを手作業で指定する]オプションを選択してください。
ファイル内容チェックポイント
  • サードパーティの JavaScript コードで動的に生成される htm/html ファイルに対するファイル内容チェックポイントはサポートされていません。

  • ファイル内容チェックポイントの作成時に,UFT One はテスト中のアプリケーションから情報を収集します。これには 2 分ほどかかる場合があります。

ファイル内容出力値 ファイル内容出力値を作成する場合,データ・テーブルのパラメータ名にスペースを使用できません。
XML チェックポイント
  • >」を値として含む XML ファイルで XML チェックポイントを実行すると,エラー・メッセージが表示されることがあります。

  • 新しい値のノードを XML ノードに追加すると,場合によっては新しい値が表示されないことがあります。

    回避策:[XML をテキストとして編集]ダイアログ・ボックスを閉じて再度開くと,新しい値のノードが正しく表示されます。

  • ロードできなかったファイル,あるいは正しく書式化されていないファイルを対象とする XML ファイル・チェックポイントを挿入すると,エラー・メッセージが表示されることがあります。

  • 大きな XML 文書に対する XML チェックポイントの作成と実行には,数分かかることがあります。

  • 内部で参照されるスキーマに対して XML を検証する XML チェックポイントを実行した後,HTML レポートでステップのステータスとステップの説明が矛盾する場合があります。ステップのステータスまたはステップの説明のどちらかで失敗が報告されている場合,チェックポイントが失敗したことを示しています。失敗の詳細については,Run Results Viewer でテスト結果を確認してください。

ALM を使った作業 ALM では,キーワード GUI コンポーネントのチェックポイントを作成,編集,または名前変更できません。

先頭に戻る

Windows の表示倍率(DPI)

注:  

Windows の表示倍率を 100% 以外に設定すると,アプリケーションの正しい場所にあるオブジェクトの識別に失敗する場合があります。たとえば,オブジェクトのスパイ,強調表示または認識の動作が変わる場合があります。

エラーを回避するには,すべてのテキストとアプリケーションを 100% で表示するように Windows を設定します。

たとえば,Windows 10 または 11 では,[コントロール パネル]>[デスクトップのカスタマイズ]>[ディスプレイ]を参照し,[カスタムの拡大率を設定]をクリックします。次に,ドロップダウン・リストから[100%]を選択します。

先頭に戻る

ステートメント補完機能の使用

ステートメント補完機能は,次のタイプのコードでは使用できません。

  • 変数:例:

    Set x = CreateObject("Application.Excel")
    x 
  • クラス・メソッド:例:

    class fooClass
    publicfunctionfoo
    sin(45)
    end function
    End Class
    Set x = New fooClass
    x

先頭に戻る

テキスト・テスト・オブジェクト

テスト・オブジェクトの記述の変更

テキスト・テスト・オブジェクトのテスト・オブジェクトの画像を変更すると,UFT One は OCR を使用して画像からテキストを抽出し,それに応じて text プロパティを更新します。

ただし,text プロパティの値を手動で変更しても,テスト・オブジェクトの画像は更新されません。text プロパティの新しい値は,オブジェクトの認識に使用されます。

複数行のテキスト

テキスト・テスト・オブジェクトでは,1 行のテキストのみがサポートされます。

テキスト・オブジェクトを学習するときに,複数行のテキストを含む画像を選択すると,最初の行についてのみテスト・オブジェクトが作成されます。

先頭に戻る