既知の問題 - 実行セッション

関連:GUI および API テスト

このトピックでは,UFT One テストの実行に関する既知の問題について説明します。

ローカル UFT One 実行セッション

領域 既知の問題
ローカル・マシン

UFT One テストまたはコンポーネントをローカル・マシンで実行し,アプリケーションをテストしているコンピュータでロックが発生すると,テストが失敗することがあります。

回避策:UFT One を仮想マシン(スクリーンセーバーやロック・パスワードなし)にインストールし,仮想マシンで実行セッションを開始またはスケジュールします。これにより,仮想マシンをロックせずに,ローカル・コンピュータをロックできます。

Test Batch Runner / UAC

UAC(ユーザ・アカウント制御)機能を ON に設定して Test Batch Runner を使用することはお勧めできません。

先頭に戻る

リモート UFT One 実行セッション

領域 既知の問題
Citrix XenApp のサポート

Citrix XenApp で起動したアプリケーションをテストする場合は,UFT One も Citrix XenApp で起動する必要があります。

RDC / Citrix からのログオフ

リモート・デスクトップ接続(RDC)または Citrix を使用して,リモート・マシンで UFT One を実行している場合は,リモート・セッションからログオフしないことをお勧めします。

UFT One の実行中にリモート・セッションからログオフすると,次の問題が発生する可能性があります。

  • テストまたはコンポーネントの実行セッションが失敗する。

  • キーボードまたはフォーカス操作を含むステップが失敗する。

  • 静止画像キャプチャまたは画面レコーダ(実行結果)には,黒い画面が表示される。

  • ステップで実行するデバイス・レベルの再生が,(ブラウザ・イベントではなく)マウスを使ってマウス操作を実行するように設定されている場合,ステップが失敗する

ログイン・ユーザの資格情報ではないリモート・セッション資格情報の設定

あるユーザがリモート UFT One セッションを開始した後,セッションがロックまたは切断されると,UFT One オプション([ツール]>[オプション]>[一般]タブ>[実行セッション])で定義された資格情報を使用して実行が続行されます。

この資格情報に関連付けられている権限が,セッションを開始したユーザよりも少ない場合,テストの実行で権限の問題が発生する可能性があります。

この問題を考慮して,UFT One コンピュータへのログインに使用した資格情報とは別に,リモート・セッションに使用する資格情報を設定できます。

マルチユースのリモート資格情報

同じユーザ名とパスワードでログインする複数のユーザをサポートするリモート・コンピュータで UFT One とアプリケーションを実行している場合は,リモート・コンピュータから切断しないことをお勧めします。

このような場合に切断して再接続すると新しいユーザ・セッションが開き,UFT One 実行セッションが失われる可能性があります。

接続を開いたままにして,UFT One セッションと実行結果を保持します。

Windows オペレーティング・システムの問題

UFT One をリモートで実行しているときに問題が発生した場合は,グループ・ポリシー・エディタ(GPE)Microsoft 管理コンソール(MMC)スナップインの設定を次のように変更します。

  1. UFT One コンピュータで,次の場所に移動します。[コンピュータの構成]>[管理用テンプレート]>[Windows コンポーネント]>[Windows ログオンのオプション]>[ソフトウェアの Secure Attention Sequence を無効または有効にする

  2. ソフトウェアの Secure Attention Sequence を有効にします。

  3. サービスとコンピュータの簡単操作アプリケーション]オプションを選択します。

  4. マシンを再起動します。

注意:この設定を有効にすると,アプリケーションとサーバが UFT One コンピュータにリモートでログインできるようになるため,セキュリティ・リスクが発生する可能性があります。UFT One マシンに機密情報が含まれていないこと,および機密情報へのアクセスを提供していないことを確認してください。

ALM テスト・ラボ

GUI テストを ALM テスト・ラボから実行する場合,Windows のリモートの設定で[リモートデスクトップを実行しているコンピュータからの接続を許可する]オプションを選択します([コントロール パネル]>[システム]>[リモートの設定])。

認証エラー

認証エラーが原因でテスト実行が失敗する場合:

  • ローカル・サービスで UFT One Helper Service を再起動します。

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] の次のレジストリ・キーを無効にします。

    "legalnoticecaption"="<anytext>"

    "legalnoticetext"=”<anytext>"

先頭に戻る

回復シナリオ

領域 既知の問題

アプリケーションのクラッシュからの回復シナリオ

アプリケーションのクラッシュに対して回復シナリオを実行するには,次の条件を満たしている必要があります。

  • クラッシュするアプリケーションにウィンドウがあること。
  • テストで Recovery.Activate ステップを使用して,アプリケーションがクラッシュした後の回復シナリオを明示的に確認して実行します。詳細については,『UFT One Object Model Reference for GUI Testing』の「Utility Objects」の項の「Recovery Object」を参照してください。

  • 回復操作は[キーボードまたはマウスの操作]または[アプリケーション プロセスの終了]です。

注:[記録と実行環境設定]でアプリケーションを別のアプリケーションに変更した場合,アプリケーションのクラッシュ・エラーに対してトリガされる回復シナリオは機能しません。

回避策:UFT One を再起動し,回復シナリオを再ロードします。

サイレント・テスト・ランナーと回復シナリオ

サイレント・テスト・ランナーを使用する場合,次の回復操作のみがサポートされます。

  • 次のステップに進む

  • 次のテスト反復に進む

  • テスト実行を停止する

次の回復操作はサポートされていません。

  • 現在のステップを繰り返し,続行する

  • 次のアクションまたは,コンポーネント反復に進む

  • 現在のテスト実行を再開する

先頭に戻る

API テストの実行

領域 既知の問題
GUI テストの呼び出し

ALM に保存され,GUI テストを呼び出す API テストを実行する場合は,ソリューションが開いた状態で UFT One が開いていることを確認するか,UFT One を閉じて ALM に開くことを許可する必要があります。

UFT が開いていても,ソリューションが開いていなければテストは実行されません。

API テストの呼び出し

API テストが GUI テストによって呼び出された場合,API テスト出力パラメータから受け取った値は,GUI テストの関数で定義された変数の値として使用できません。

外部 .dll ファイル

外部 .dll への参照を手動で追加すると,UFT One ではローカルへの保存を指示するプロンプトが表示されます。特定の参照ファイルに関する設定を変更するには,参照を削除して再度手動で追加します。

共有フォルダ

共有フォルダを使用してリモート・マシン上でテストを実行すると,.NET 2.0 セキュリティ設定の調整が必要になる可能性があります。

提案:コントロール パネル]を開き,ブラウズするか検索して[管理ツール]を見つけます。[管理ツール]の一覧で,次のエントリを探します。Microsoft .NET Framework 2.0 Configuration。見つからない場合には,.NET Framework 2.0 SDK をインストールする必要があります。

構造チェックポイントの検証

期待値が SOAP フォールトで,Web サービス呼び出しによって UnsupportedMediaType ステータスが返されると,構造チェックポイントの検証が失敗します。

負荷テスト・モード

API テストを負荷テスト・モードで実行する場合,API テスト・ステップでのチェックポイント検証はサポートされません。

log4net.dll の更新

以前の UFT One バージョンで作成およびビルドされた API テストを引き続き使用するには,新しいバージョンの UFT One でテストを開いてアップグレードする必要があります。

先頭に戻る

Insight テスト・オブジェクトを含むステップの実行

領域 既知の問題
要件:セッションとアプリケーションがアクティブ

ステップを正常に実行するためには,コンピュータのセッションがアクティブになっており,アプリケーションが表示されている(最小化されていない)必要があります。Insight では,テストに保存されている画像を比較するために,画面のデータを使用するためです。

リモート接続

リモート・コンピュータで実行されているアプリケーションをテストするときに,最小化されたリモート・デスクトップ接続ウィンドウを使用すると,そのステップが失敗します。

回避策:リモート・コンピュータでステップを実行するときに,リモート・デスクトップ接続ではなく別のプログラム(Virtual Network Computing など)を使用してください。

表示サイズ/ズーム・レベル

Insight オブジェクトが適切に認識されるようにするには,オペレーティング・システムで定義されている表示サイズとブラウザ・ズーム・レベル(ブラウザで作業する場合)が,テストの実行時とオブジェクトの学習または記録が行われたときとで同じである必要があります。

モバイル・テスト

モバイル・アプリケーションでは,Insight が正しく動作しないことがあります。代わりに,AI ベースのテストをモバイル・アプリケーションに使用してみてください。 UFT One での AI ベースのテストを参照してください。

領域の除外

Insight で除外領域を使用する場合,含まれている領域に,オブジェクトを認識するために十分な内容が含まれている必要があります。

含まれている領域の内容が十分に詳細ではない場合,UFT One によって一致すると判断される画面上のコントロールが非常に少なくまたは多くなることがあります。

回避策:次のいずれかまたは両方を行います。

親の Browser オブジェクト

親の Browser テスト・オブジェクト内で Insight オブジェクトを検索する場合,UFT One では,ブラウザ・ウィンドウ全体ではなく,選択したブラウザ・タブ内が検索されます。

デュアル・モニタ

Insight は,プライマリ・モニタのみでサポートされます。したがって,デュアル・モニタを使用する場合には,Insight テスト・オブジェクトに対して UFT の使用時に,アプリケーションがプライマリ・モニタに表示されるようにしてください。

ステップの実行

一部のアプリケーションでは,ウィンドウを開く Insight オブジェクトのステップを実行した後,そのウィンドウが閉じ,そのウィンドウで次の Insight オブジェクトのステップを実行できません。

回避策:最初の Insight オブジェクトでステップを実行する前に,オブジェクト・リポジトリのオブジェクトに skipmakeobjvisible プロパティを追加し,値を True に設定します。

先頭に戻る

OCR を使用するステップの実行

以下の制限は,テキストまたはテキスト領域のチェックポイント,テキスト・テスト・オブジェクト,アプリケーションからテキストを取得するメソッドなど,OCR に基づく手順に影響します。

領域 既知の問題
OCR の設定と最適化

UFT One のテキスト認識を最適に設定する必要があります。次を参照:

要件:セッションとアプリケーションがアクティブ

ステップを正常に実行するためには,コンピュータのセッションがアクティブになっており,アプリケーションが表示されている(最小化されていない)必要があります。OCR では,テストに保存されているテキストを比較するために,画面のデータを使用するためです。

リモート接続

リモート・コンピュータで実行されているアプリケーションをテストするときに,最小化されたリモート・デスクトップ接続ウィンドウを使用すると,テキスト・テスト・オブジェクトを含むステップが失敗します。

回避策:リモート・コンピュータでステップを実行するときに,リモート・デスクトップ接続ではなく別のプログラム(Virtual Network Computing など)を使用してください。

パフォーマンス
  • OCR を使用するステップの実行は,プロパティ・ベースのオブジェクト認識を使用するステップの実行よりも時間がかかります。
  • テキスト・テスト・オブジェクトを含むテストを実行する場合は,パフォーマンスを向上させるために Windows のアニメーションをオフにすることをお勧めします。
不正確なテキスト認識
  • 一部のアイコンと要素は特殊文字として認識され,実行ごとに異なって認識される可能性があります。
  • 認識されたテキストを強調表示するといった操作を実行する場合,以下のケースで操作の場所が不正確になる可能性があります。 

    • テキストの前またはテキスト内に大きなスペースがある。
    • 文字幅の差が大きいフォントが使用されている。
.GetVisibleText テスト・ステップ

testobject.GetVisibleText ステップは,フレームで囲まれたテキスト・オブジェクトで正しく機能しないことがあります。

回避策:テスト内の GetVisibleText ステップの前に次のテスト・ステップを挿入して,fieldMarkingType ABBYY パラメータを設定します。これにより,フレームからテキストを抽出するよう ABBYY OCR エンジンに指示します。

TextUtil.SetABBYYParameters "fieldMarkingType", True, 2
Text オブジェクトを使用したステップの強調表示または実行

Text オブジェクトを強調表示するか,ABBYY OCR を有効にして Text オブジェクト・ステップを実行すると,オブジェクトが見つかりませんというエラーが UFT One に表示されることがあります。

考えられる原因:

オブジェクトの記述に,textcolor プロパティと backgroundcolor プロパティが含まれる場合があります。これらのアプリケーションのプロパティ値が,オブジェクトが学習された後で変更されている可能性があります。この場合,オブジェクトの記述が不正確になります。

回避策:

オブジェクト・リポジトリ内のオブジェクトの textcolor および backgroundcolor の記述プロパティを削除するか,更新します。こうすることで,カラー・プロパティを使用しないで,または更新されたプロパティを使用してオブジェクトが識別されます。

オブジェクト・リポジトリ内のオブジェクトのカラー・プロパティを更新するには,まずプロパティを削除してから,[記述プロパティを追加]ボタンをクリックして指定し直します。

TextUtil.GetTextFromImageByColor メソッド

次のシナリオでは,TextUtil.GetTextFromImageByColor メソッドが正しく機能しない可能性があります。

  • 画像に,テキストの色とは異なるが,色相の値が近い色が含まれている。

  • 画像に,テキストの色と似ているが,色相の値が大きく異なる色が含まれている。

回避策

  • 高解像度の画像を使用します。

  • 画像の不要な部分を消去して,テキスト部分だけを残します。

  • 可能であれば,他の方法を使用して画像からテキストを取得します。

先頭に戻る

AI によるオブジェクト認識を使用するステップの実行

AI ベースのステップを含むテストを実行すると,次の既知の問題が発生します。

領域 既知の問題
AIUtil("search").Search メソッド AIUtil("search").Search メソッドの実行時に,アプリケーションの検索コントロールによって開かれた入力ボックスが,すぐにテキストを入力できる状態になっていない場合,検索文字列の一部の文字が失われる可能性があります。
レスポンシブ・レイアウトでの順序位置 さまざまな画面サイズのさまざまなレスポンシブ・レイアウトでは,順序位置を使用して識別するオブジェクトに対して一貫性のある識別が行われない場合があります。
Windows ベースの SAP GUI アプリケーション

AI を使用して Windows ベースの SAP GUI アプリケーションをテストする場合,次の機能はサポートされません。

  • AI Transformation Assistant

  • 自動スクロール

  • AIUtil(“combobox”).Select

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

Edge で IE モードをオンまたはオフに切り替えた後,AI ステップが失敗することがあります。

回避策:テストに SetContext ステップを追加して,IE モードを切り替えた後に AI コンテキストをリセットします。

Firefox のステータス・バー Firefox ブラウザの下部にステータス・バーがある場合,AI ベースのテスト・スクリプトは実行できません。
AI Transformation Assistant

モバイル・アプリケーションで実行している場合,AI Transformation Assistant は,オブジェクトを探すために画面をスクロールしません。そのため,AI Transformation Assistant を使用してテストを実行する場合,現在のモバイル・アプリ画面に表示されていないオブジェクトについては,AI オブジェクトの提案は提供されません。

先頭に戻る

テストの並行実行

パラレル・ランナー・ツールを使用してテストを並行実行するときに発生する既知の問題を次に示します。

領域 既知の問題
サポートされていない機能

Edge

パラレル・ランナー・ツールは,一度に 1 つの Edge ブラウザしか実行できません。したがって,複数のテストを同時に実行している場合,Edge で実行できるのはそのうちの 1 つだけです。

Web 2.0 ツールキット

パラレル・ランナーを使用する場合,すべての Web 2.0 ツールキット(ASP .NET AJAX,Dojo,Ext-JS,GWT,jQueryUI,SiebelOpenUI,YahooUI)はサポートされません。

オートメーション・オブジェクト・モデル

UFT One のオートメーション・オブジェクト・モデルは,パラレル・ランナーを使用するテスト実行ではサポートされません。

Docker コンテナ

Windows 10 のフル uft Docker イメージでは,パラレル・ランナーを使用したテストの並列実行はサポートされていません。

特定のテスト・オブジェクトとメソッド

.object メソッド

UFT One のパラレル・ランナーを使用して Web スクリプトを実行する場合,8 未満の documentMode で Internet Explorer が実行されていると,.object メソッドはサポートされません。

WebFile オブジェクト

WebFile オブジェクトは,並列実行ではサポートされていません。

SystemUtil.Run メソッド

SystemUtil.Run メソッドで起動したブラウザは,テストを並列実行すると予期しない結果が生じる場合があります。

代わりに,WebUtil.LaunchBrowser メソッドを使用することをお勧めします。

実行結果

Internet Explorer

パラレル・ランナーの実行結果を Internet Explorer で表示するには,Internet Explorer バージョン 10 以降を使用してください。

Safari

Mac マシンの Safari で開いた場合,デバイス・モニタ・グラフの実行結果にタイム・スタンプを示す赤い線が表示されません。赤い線を表示するには,別のブラウザを使用して実行結果を表示します。

デバイス・システム・モニタ

デバイス・システム・モニタは,HTML の実行結果グラフには表示されません。並列実行されるデバイス・テストのシステム・モニタ・データを表示するには,実行結果からリンクされているログ・ファイルを確認してください。

アプリケーションのスナップショット

Java アプリケーションの並列テストで,パラレル・ランナーが実行結果レポートに保存するアプリケーション・スナップショットが正しくないことがあります。

デバイス・テスト

デバイスの予約と解放

  • パラレル・ランナーは,Device テスト・オブジェクト,または MobileUtil.SetActiveMobileDeviceByID などの Util メソッドを使用してデータ駆動されるテストに基づいてデバイスを予約することはできません。
  • 並列テスト中に CTRL+C を押しても,デバイスは解放されません。

Insight / OCR / 強調表示

テストでの Insight オブジェクトの使用,または OCR や強調表示メカニズムの採用により,モバイル・デバイスでの並列テストが失敗する場合があります。

回避策:Insight オブジェクトまたは OCR メカニズムを使用する場合は,デバイスが重ならないように,デバイスを並列に表示するリモート・アクセス・ウィンドウを配置します。

トラブルシューティング

場合によっては,パラレル・ランナーを使用して実行するたびに Web テストが応答を停止します。

回避策: 

パラレル・ランナーがローカル IP アドレスとして使用するアドレスを変更します。

  1. コンピュータのローカル IPV4 アドレスを取得します(コマンド・ウィンドウに ipconfig と入力します)。
  2. UFT One インストール>\bin フォルダで,parallel.ini(存在する場合は parallel.custom.ini)を開きます。
  3. IP=127.0.0.1 定義をローカル IPV4 アドレスに変更してファイルを保存します。

先頭に戻る

メンテナンス・モードでのテストの実行

領域 既知の問題
プログラム的記述の使用

メンテナンス・モードでの実行時に,アプリケーションに存在しないオブジェクトに関するプログラム記述がステップに含まれている場合,メンテナンス・モードが問題を検出するまでに時間がかかることがあります。オブジェクトをポイントするオプションを使用した場合,後でメンテナンス・モードで改めて開くときに時間を要することがあります。

必須または補足プロパティを持たないオブジェクト

メンテナンス実行ウィザードがオブジェクトを見つけられず,そのオブジェクトのテスト・オブジェクト記述に必須プロパティも補足プロパティもない(つまり,Browser テスト・オブジェクトのように,その順序識別子でのみ識別される場合)状態で,オブジェクトをポイントした場合,ウィザードは問題を修正することができないため,メッセージを表示し,ポイントしたオブジェクトのテスト・オブジェクト記述が,UFT One で識別できないオブジェクトと類似していることを通知します。

回避策:このテスト・オブジェクト記述を修正するには,[オブジェクト リポジトリ]ウィンドウ(オブジェクトがローカル・リポジトリにある場合)またはオブジェクト・リポジトリ・マネージャ(オブジェクトが共有オブジェクト・リポジトリにある場合)の[アプリケーションから更新]オプションを使用します。

別のオブジェクト・クラスをポイントすることでのステップの更新

メンテナンス実行ウィザードは,アプリケーション内でオブジェクトを見つけられなかったときに,ユーザが置き換えとして別のオブジェクト・クラスをポイントした場合,そのオブジェクトとその標準設定のメソッドを使用したステップを追加することを提案します。しかし,ウィザードはそのステップにメソッド引数を挿入しません。ステップのメソッドに必須の引数があるにもかかわらず,メンテナンス実行ウィザードが提示したステップを変更せずにそのまま使用すると,そのステップは実行時に失敗します。

回避策:ステップに対して有効な引数を指定します。

XPath または CSS のプロパティの更新

メンテナンス・モードでの実行時に,UFT One は,XPath または CSS 識別子プロパティ値を持つテスト・オブジェクトをアプリケーションの新しいオブジェクトで置き換える可能性があります。

回避策:オブジェクト・リポジトリ・マネージャの[アプリケーションから更新]オプションを使用して,XPath または CSS 識別子プロパティ値を持つテスト・オブジェクトを更新してください。

関数ライブラリで使用されるオブジェクト ステップによって呼び出される関数ライブラリで使用されるオブジェクトのプロパティについては,このようなオブジェクトで問題が発生した場合,メンテナンス・モードでは解決できません。メンテナンス・モードが関数ライブラリ内のオブジェクトの問題を検出すると,テストが読み出し専用であり,メンテナンス・モードが無効化されたことを示すメッセージが表示されます。

先頭に戻る

更新実行モードでのテストの実行

領域 既知の問題
Insight

更新実行モードでは,Insight テスト・オブジェクトまたはテキスト・テスト・オブジェクトは更新されません。

Insight テスト・オブジェクトまたはテキスト・テスト・オブジェクトを更新するには,オブジェクト・リポジトリでオブジェクトを開いて,[テスト オブジェクトの画像]領域にある[テスト オブジェクトの画像を変更ボタンをクリックします。

テキスト・テスト・オブジェクトの場合,アプリケーション内のテキストの識別に使用される text プロパティを手動で更新できます。テスト・オブジェクトに保存された画像は更新されないことに注意してください。

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

更新実行では,ファイルや XML などの複合型のチェックポイントと出力値のタイプの更新はサポートされません。

更新実行中,これらのチェックポイントと出力値は通常の実行セッションと同様に処理され,期待値と実際の値が異なると失敗します。

先頭に戻る