既知の問題 - Java Add-in
このトピックには,Java Add-in を使用する際のトラブルシューティングと制限事項の情報が記載されています。
Java アプリケーションを開く
Java アプリケーションを開くときは,次の制限が適用されます。
Java アドインの子アドインのロード
アドイン・マネージャの中で Java の配下にある子アドインを選択すると,選択した環境の Java Add-in Extensibility サポートがロードされます。
バージョン 10.00 より前のバージョンの Java Add-in Extensibility SDK を使用して開発されたサポートをロードすると,[オブジェクトの認識]ダイアログ・ボックスなどの UFT One ダイアログ・ボックスで,Extensibility テスト・オブジェクト・クラスが間違ったリストに表示されます。
これは,選択した環境のテスト・オブジェクト・クラスを表示するどの UFT One ダイアログ・ボックスでも発生します。
たとえば,次のようなエラーがあります。
-
子アドインを[環境]リストの中で選択した場合,テスト・オブジェクト・クラスのリストは空です。その代わりに,[環境]リスト内の子アドインの配下ではなく,Extensibility テスト・オブジェクト・クラスは,Java 環境の直下に表示されます。
-
また,場合によっては,[オブジェクトの認識]ダイアログ・ボックスの[スクリプトの生成]ボタンが正しく機能しないことがあります。
このような場合は,次の手順を実行します。
-
子アドインに関連付けられたテスト・オブジェクト設定ファイルを探します。このファイルは次の場所にあります。
UFT One インストール・フォルダ \dat\Extensibility\Java\<アドイン名>TestObjects.xml ALM で作業する場合 <UFT One Add-in for ALM のインストール・フォルダ>\dat\Extensibility\Java\<アドイン名>TestObjects.xml -
XML ファイル内で,TypeInformation 要素内の PackageName 属性を探し,その値を JavaPackage から,子アドインの名前に変更します。
-
ファイルを保存してから,再度 UFT One を開きます。
-
この拡張サポート(子アドイン)がサードパーティによって開発されたものである場合,そのサードパーティに連絡して支援を受けることをお勧めします。
Java 8 アプリケーション
Java 8 アプリケーション,特に jre8u91 を使用する Oracle Forms および Java アプレット,または jre8u45 を使用する JavaFX アプリケーションを起動すると,VerifyError が表示される場合があります。
このような場合は,Java ランタイム環境の設定に -UseSplitVerifiier ランタイム・パラメータを追加します。これらの設定には,Java コントロール・パネルを介してシステム・レベルでアクセスできます。
アプリケーション・タイプ | ランタイム・パラメータ設定 |
---|---|
jre7u65+ | java -XX:-UseSplitVerifier -jar <application.jar> |
異なる環境でのテスト
Java 9 環境で Java 8 アプリケーションのテストを実行すると,UFT One が予期しない動作をする可能性があります。
記録設定
-Xincgc フラグ |
-Xincgc フラグを java.exe コマンド・ラインに追加すると,Java サポートが正しく機能しなくなります。 この設定は,[記録と実行環境設定]ダイアログ・ボックスまたはバッチ・ファイルで行うことができます。 回避策: UFT One の Java サポートを使ってテストを行う場合は,コマンド・ラインで -Xincgc を使わないようにするか,動的変換サポート機能を使わないようにします。 |
JAR ファイル |
[記録と実行環境設定]ダイアログ・ボックスでコマンド・ラインから JAR ファイルを選択する場合は,Java アプリケーションを起動する前に,[コマンド ライン]ボックスに手動で -jar を付け加える必要があります。 |
Java アプリケーションの起動 |
バッチ・ファイル(または別の実行可能ファイル)を使わず,(JAR ファイルを選択した後で)-jar コマンド・ライン・オプションを指定せずに,[記録と実行環境設定]ダイアログ・ボックスを使って Java アプリケーションを起動する場合は,Java クラスの完全修飾名を[コマンド ライン]ボックスに含める必要があります。 |
記録
JFC 単一行エディット・ボックス |
IME コンポジション・ウィンドウで JFC 単一行エディット・ボックス内のキーボード操作を記録しているときに ENTER キーを押してコンポジション文字列を選択すると,そのキー操作が Activate メソッドとして記録され,結果として余分なステップが生成される場合があります。例:
通常の場合,このステップを追加しても実行セッションに影響しません。 回避策: テストまたはビジネス・コンポーネントを実行する前に,記録された余分なステップを削除します。 |
ALT+F4 キーボード・ショートカット |
ALT+F4 キーボード・ショートカットは,記録や実行ではサポートされていません。 このショートカットは,Java アプレットまたは Java アプリケーションを終了するために使用されます。 回避策:
|
Java ウィンドウの移動とサイズ変更 |
標準設定では,Java ウィンドウの移動とサイズ変更は記録されません。これは,記録すると,場合によっては重複記録を引き起こすことがあるためです。 回避策: Java アドインに対してこれらのアクションを記録するよう設定するには,Setting.Java メソッドを使用して,record_win_ops 変数を 1 に設定します。 例:
|
AWT ポップアップ・メニュー |
AWT ポップアップ・メニューは,通常の JavaMenu テスト・オブジェクトではなく,標準 Windows コントロール・サポートの WinMenu テスト・オブジェクトによって記録されます。 このようなメニューに対してチェックポイントや ActiveScreen 操作を実行することはできません。 回避策: ほかの検証メソッドを使用します(GetTOProperty など)。 |
JavaMenu オブジェクトのサブメニュー | ActiveScreen では,Java アプリケーションの JavaMenu オブジェクトの記録されたサブメニューを強調表示できません。 |
識別子にマウス・カーソルを合わせる |
Java Add-in では,Eclipse ウィンドウ内の識別子にマウス・カーソルを合わせるステップの記録や実行を行いません。 |
Java ダイアログ・ボックスを閉じる |
Java ダイアログ・ボックスを閉じるステップを記録すると,UFT One によって追加の Close ステートメントが記録されます。 回避策: 余計な Close ステートメントを手動で削除します。 |
Web ページ内の Java アプレットまたは ActiveX コントロール |
ActiveScreen の Web ページ内に表示される Java アプレットまたは ActiveX コントロールは表示専用であり,そのオブジェクトを対象とした操作はできません。 たとえば,チェックポイントの作成やメソッドの追加などです。 回避策: Java アプレット/ActiveX コントロールを対象とする操作を記録して,ActiveX Add-in または Java Add-in,あるいはその両方がロードされているオブジェクトを対象とするステップを作成します。 この後,ActiveScreen 内の個々の Java アプレット/ActiveX コントロールから,チェックポイントの作成,ステップのパラメータ化,メソッドの追加が行えます。 |
ActiveScreen からのチェックポイントまたは出力値の追加 | JavaTree,JavaTable,または JavaSlider オブジェクトのステップを記録した後で,そのオブジェクトの ActiveScreen からチェックポイントや出力値を追加することはできません。 |
オブジェクトの認識
ネイティブ・プロパティ |
コントロールのネイティブ・プロパティを使ってオブジェクトを認識するには,[プロパティの追加と削除]ダイアログ・ボックスで,Java テスト・オブジェクトにプロパティを追加します。この作業を行う場合は,次のことを考慮してください。
|
大文字と小文字の区別 |
QuickTest の旧リリースでは,Java 記述プロパティは大文字と小文字を区別しませんでした。 11.00 より前のバージョンの QuickTest でテスト・オブジェクトを学習している場合,[更新実行]を実行して,大文字と小文字の区別があるプロパティを持つオブジェクトを再学習する必要があります。 これは,[テスト オブジェクトの記述を更新]オプションを使用して行います。 |
JavaWindow オブジェクト | オブジェクト認識センターでは,JavaWindow オブジェクトがオブジェクト・ツリー階層の親オブジェクトである場合,このオブジェクトでは Validate はサポートされません。 |
テスト・オブジェクトとテスト・オブジェクト・メソッド
SWT ベースの JavaMenu オブジェクト |
SWT ベースの JavaMenu オブジェクトは,[オブジェクト リポジトリ]ウィンドウの[ローカルへオブジェクトを追加]ボタン,またはオブジェクト・リポジトリ・マネージャの[オブジェクトの追加]ボタンを使用してオブジェクト・リポジトリに直接追加することはできません。 SWT ベースの JavaMenu オブジェクトをオブジェクト・リポジトリに追加する場合は,次のようにします。
|
スクロール・バー・コントロール |
AWT および Swing アプリケーションのスクロール・バー・コントロールは,JavaSlider テスト・オブジェクトによって表されます。 SWT アプリケーションのスクロール・バー・コントロールはサポートされていません。 JavaFX アプリケーションのスクロール・バー・コントロールがサポートされ,JavaSlider テスト・オブジェクトで表されます。 |
.Object.startModal の呼び出し |
JavaInternalFrame または JavaDialog オブジェクトの .Object.startModal を呼び出すと,ダイアログ・ボックスが閉じるまで UFT One が予期しない動作をする場合があります。 |
マルチバイト文字 |
複数行編集フィールド・オブジェクト内でのマルチバイト文字の使用はサポートされていません。 |
ボタン・オブジェクト |
表示する画像ファイルの名前によってラベルが決まるボタン・オブジェクトの場合,テスト・オブジェクトに名前を付けるプロセスが,JDK 1.6 以降で実行しているときと JDK 1.5 で実行しているときとで異なります。これは,JavaButton または JavaToolbar のボタンの両方に適用されます。 したがって,JDK 1.5 で学習されてその画像ファイルに従ってラベル付けされたボタン・オブジェクトを含むテストまたはビジネス・コンポーネントを JDK 1.6 で実行すると,失敗する可能性があります。 回避策:
|
PropertyValue 引数 |
Java テスト・オブジェクトの場合,WaitProperty メソッドの PropertyValue 引数(2 番目の引数)の型は string でなければなりません。 回避策: 元の型の代わりに string を使用します。 たとえば,1 の代わりに "1" を使用します。
|
JavaStaticText オブジェクト | [ナビゲートして学習]ツールバーを使用して JavaStaticText オブジェクトを学習するには,オブジェクト・フィルタとして[すべてのオブジェクト タイプ]を選択する必要があります。 |
チェックポイントおよび出力値
テキスト・チェックポイントとテキスト出力値 |
テキスト・チェックポイントとテキスト出力値は,特定の基準を満たす Java オブジェクトについてのみ作成できます。詳細については,Java オブジェクトのテキスト・チェックポイント/出力値ステップを参照してください。 |
新しいテーブル・チェックポイント |
テストまたはビジネス・コンポーネントを編集しているときに,Java テーブルに対して新しいテーブル・チェックポイントを作成するには,まずチェックしたいテーブルを含んだアプリケーションを開いて,そのテーブルをアプリケーションで表示する必要があります。 |
JavaList/JavaTree オブジェクト |
テストまたはビジネス・コンポーネントの編集中に JavaList または JavaTree オブジェクトに対するチェックポイントを追加した場合,そのチェックポイント内では list_content または tree_content プロパティを使用できません。 回避策: Java リストと Java ツリーに対するチェックポイントは,記録中に作成します。 |
常に表示されているわけではないオブジェクト |
常に表示されているわけではないオブジェクト(コンボ・ボックスから開かれるリストやメニュー項目など)に対するチェックポイントの実行は,完全にはサポートされていません。 回避策: 一時的なオブジェクトに対するチェックポイントが必要な場合は,チェックポイントを実行する前に,そのオブジェクトが表示されていることを確認してください。 たとえば,コンボ・ボックス・リストの場合は,チェックポイントを実行する前に,コンボ・ボックス・ボタンをクリックするステートメントを挿入する必要があります。 |
SWT ベースの Java ツリー |
テストでの作業中にカラムを持ち,SWT ベースの Java ツリーを対象とするチェックポイントを作成すると,テーブル・チェックポイントが作成されます。 |
JavaFX アプリケーション
一般
CloseTab メソッド |
JavaFX アプリケーションのタブ項目で CloseTab メソッドを記録するには,最初にタブ項目を選択する必要があります。 UFT One テストで閉じることができるのは,選択したタブだけです。1 つのステップですべてのタブを閉じることはできません。 |
表示倍率 |
UFT One が JavaFX アプリケーションのオブジェクトを識別できるようにするには,表示倍率を 100% に設定する必要があります。 倍率を 125% または 150% に設定すると,UFT One はオブジェクトを Java ではなく標準の Windows オブジェクトとして認識します。 |
サポートされていないメソッド |
次のメソッドは,JavaFX オブジェクトではサポートされていません。
|
Web テストのみ
JavaFX ウィンドウ内で実行される Web アプリケーションには,次の既知の問題があります。
サポートされていないコントロール |
|
サポートされていない機能 |
|
サポートされていないテスト・オブジェクトとメソッド |
|
チェックポイント | 標準,ビットマップ,テキスト/テキスト領域チェックポイントのみがサポートされています。 |
64 ビット・アプリケーション | 64 ビット・バージョンの JavaFX はサポートされていません。 |
アプリケーション内の強調表示 | JavaFX メニューとメニュー項目オブジェクトは,アプリケーションで強調表示できません。 |
Java Runtime Environment(JRE)
Java Add-in のインストール後に,Java JVM 上で実行している Java アプリケーションを起動できない場合があります。この場合,表示されるエラー・メッセージには,Mercury Interactive サポートをロードできず,Java 仮想マシンを作成できなかったことが示されます。
回避策:
-
_JAVA_OPTIONS と IBM_JAVA_OPTIONS の各環境変数の先頭に -agentlib:jvmhook を追加します。
-
JAVA_TOOL_OPTIONS 環境変数を削除します。
UFT One コンピュータへの Java のインストール
UFT One がインストールされているマシンで JRE を再インストールまたはアップグレードすると,エラー 1603 が発生して JRE のインストールが完了しない場合があります。
これは,UFT One の Java 環境変数と Java インストーラ間の干渉が原因である可能性があります。
インストールを正常に完了するには,UFT One の Java 環境変数の名前を変更し,JRE のインストールを実行してから,変数名を元に戻します。
UFT One の Java 環境変数の名前を一時的に変更するには:
-
Windows デスクトップで,[マイ コンピュータ]または[PC]を右クリックし,[プロパティ]を選択します。
-
[詳細設定]タブを選択します。
-
[環境変数]ボタンをクリックします。
-
ユーザ環境変数リストとシステム環境変数リストの両方で,次の環境変数を探して名前を編集します。
-
_JAVA_OPTIONS
-
Java_Tool_Options
-
IBM_Java_Options
-
-
JRE をインストールします。
-
インストールが完了したら,環境変数の名前を元の名前に戻します。
IntelliJ IDEA 2020.2 以降の使用
IntelliJ IDEA 2020.2 以降では,パフォーマンスを確保するために特定の環境変数を削除することが推奨されています。次の変数は Java アプリケーションのテストに必要なため,削除しないでください。
- _JAVA_OPTIONS
- JDK_JAVA_OPTIONS
- JAVA_TOOL_OPTIONS