ハートコア株式会社
HeartCore Robo Desktop 4.4 Docコレクション
GUIリファレンス
21/06/18

HeartCore Robo Desktop 4.4 Javaコンバータ

Javaコンバータは、tprテストスクリプト(*.tpr)javaテストスクリプト(*.java)に変換します。これは、TPRテストスクリプト形式から純粋なJavaに簡単に移行できるようにするためのものです。このツールでは、tprコードの一部をJavaに変換し、TPR形式でサポートされていない特殊な機能が必要な場合などに、インクルード/Run コマンド呼び出しを使用して、結果のJavaコードをTPRスクリプトにプラグインすることもできます。
  1. スクリプトエディタでTPRコードを右クリック し、コンテキストメニューで[ Export to Java ] を選択します。
  2. テストスクリプトファイル名が表示されたスクリプトエディタタブを右クリックし、コンテキストメニューから [ Javaエクスポート]を選択します。
  3. ctrl + J キー/span> を押すか、メインウィンドウメニューから「ファイル」→「Java にエクスポート」を選択します。
変換プロセスはコンバータウィンドウを開きます。

スクリーン#1
最初の画面は、TPRスクリプトのソースを示します。現在のスクリプトエディタの内容(保存されていないコード変更を含む場合もあります)またはスクリプトファイルのいずれかを選択することができます。



スクリーン#2
2番目の画面では、ターゲットJavaクラスを識別します。
  1. [ ターゲットパス] フィールドは、ターゲットJavaソースコードの場所を定義します。スクリプトが属するプロジェクトのJavaソースの場所にプリセットされています(<project_home>/src)。>HeartCore Robo Desktop プロジェクトのサポートを最大限に活用するには、この設定を終了することをお勧めします。
  2. 「クラス名」フィールドには、ターゲットJavaクラス名が入ります。それは文字で始まり、文字(US / ASCII)と数字だけが含まれていなければなりません。名前は大文字で始まるのが一般的な慣習です。 
このフィールドには、デフォルトで、ソーススクリプトファイル名から派生したクラス名が設定されています。この名前は、スクリプトが他のスクリプトによって参照されるクラス識別をサポートするため、この名前を使用することをお勧めします。詳細については、3番目の画面の凡例を参照してください。
  1. パッケージ」フィールドは、ターゲットJavaパッケージ名を定義します。パッケージは、文字と数字を含む1つ以上のドット(ピリオド)で区切られた名前で構成されます。ファイルの観点から、パッケージ名はターゲットパスの下のサブディレクトリに変換されます。
フィールドを空のままにして、結果のJavaクラスをターゲットパス(いわゆる「デフォルトパッケージ」)に直接配置することは可能ですが、このディレクトリの外にある他のクラスからファイルを参照することはできません。これはJavaの制限です。

お互いを呼び出す複数のスクリプトを変換する場合は、それらを同じパッケージに保管することをお勧めします。これは、インクルード / 実行参照の自動スクリプトマッピングをサポートしています。
  1. 「ターゲット・ファイル」フィールドには、ターゲットJavaクラス・ファイルの絶対パスが表示されます。右側のボタンは、既存のJavaクラスをオプションで選択して上書きすることができます(クラス名パッケージの フィールドが更新されます)。
  2. 一番下の警告フィールドはデフォルトでは表示されず、警告やエラーが表示されます。


スクリーン#3
3番目の画面は依存関係を扱っています。依存性はを通じて変換されたスクリプトによって呼び出されている別のスクリプトでインクルード / 実行するコマンド。この画面は、少なくとも1つの依存関係が存在する場合にのみ表示されます。
  1. 依存関係の表には、 直接および間接的な依存関係のリストが表示されます。直接の依存関係が変換され、スクリプトが別のスクリプトを呼び出すことを意味します。間接的な依存関係は、変換スクリプトは、まだ別のスクリプト(など)を参照する別のスクリプトを呼び出すことを意味します。
テーブルの下の依存関係コントロールは、現在選択されている依存関係を使用します:
  1. ファイル」 フィールドは読み取り専用で、依存ファイル名が表示されます。
  2. [ Action]ドロップダウンと[ Class Name]フィールドでは、2つのモードを設定できます。
    • [ 新しいJavaクラスに変換 ]オプションを使用すると、コンバータは依存関係を[ クラス名]フィールドで指定された新しいJavaクラスに変換します。このフィールドには、デフォルトで、依存するスクリプトファイル名から派生したクラス名が設定されています。このオプションは、依存関係がまだ変換されていない場合に適しています。
    • 「既存のJavaクラスにマップする」オプションが指定されたJavaクラスへの依存関係をマッピングします。このモードは、通常、依存関係がすでにJavaに変換されている場合、または依存関係がHeartCore Robo Desktopクラスパス上のプリコンパイルされたJARファイルの形式で提供されている場合に使用されます。

    ウィザードは、既定で、既に変換されたスクリプトのターゲットパスを検索し、 それに応じてテーブルにデータを設定します。マッピングは次の条件で成功します。
    1. スクリプトクラスのソースコード(.javaファイル)は、ターゲットパス (デフォルト/ルート以外のパッケージ)に存在します。
    2. スクリプトクラスは正常コンパイルできます(構文エラーはありません)。
    3. スクリプトクラスには 、コンバータによって生成された有効なClassInfo注釈が含まれています。これには、ソースTPRスクリプト(ファイルパス、変換時のCRCチェックサム)とコンバータ(バージョン)に関する情報が含まれています。これらの注釈は変換目的でのみ使用され、変換が完了した後にオプションでスクリプトから削除されます。

    コンバータが既存の依存関係のマッピングに失敗した場合、または依存関係が別の形式(たとえばアプリケーションクラスパス上のスタンドアロンJARファイル)にプラグインされている場合は、完全修飾Javaクラス名を入力して手動でマッピングを提供する必要があります<package>。<classname>)をクラス名フィールドに入力します。
  3. エラーフィールドは、 選択したオプションのために検出されたエラーを示します。最も一般的なエラーメッセージ:

    選択されたアクション
    メッセージの断片
    推奨される手順
    新しいJavaクラスに変換する ターゲットのJavaファイルが存在し、上書きされます
    これは、依存関係の変換によって既存のJavaファイルが上書きされるという警告に過ぎません。
    既存のJavaクラスへのマップ [...]ファイルは変換後に変更されたようです... TPRスクリプトは、Javaに変換された後に変更されており、Javaバージョンが古いとみなされます。TPRスクリプトコードを変更していないことが確実な場合は、警告を無視しても安全です。それ以外の場合、依存 フィールドの再変換を強制するには、アクションフィールドを新しいJavaクラスに変換にリセットすることをお勧めします。
    複数のJavaクラスがあります...
    この警告は、ソースTPRスクリプトが2つ以上の異なるJavaクラスに複数回変換されたことを通知します。自動マッパーは、CRCマッチと最も早いJavaクラスファイルの変更タイムスタンプによって最もマッチするクラスを選択します。プロセスをキャンセルし、正しいクラス以外のすべての重複しているクラスを削除し、変換プロセスを再開することをお勧めします。
    [...]クラスは存在しないか、インスタンス化できません。
    クラス名フィールドに入力されたクラスは使用できないか、構文エラーのためにコンパイルできない.javaとして利用できます。変換プロセスをキャンセルしてクラスを修正するか(.javaとして存在する場合)、クラスを含むJARをHeartCore Robo Desktopクラスパス(アドオンとして配布される外部スクリプト用)に配置することをお勧めします。


スクリーン#4
4番目の画面は確認の画面です。結果として得られるJavaクラス(クラス)をスクリプトエディタで開くことを可能にする1つまたは2つのオプションがあります。変換処理を開始するには、「次へ」を選択します。

最後の画面に変換の進行状況と結果が表示されます。ソースTPRファイルまたは何らかの依存関係の処理が何らかの理由で失敗した場合、ウィンドウは解決方法に関する指示を提供します。

一般的な失敗のシナリオは、スクリプト(またはいずれかの依存関係)が.javaに変換されますが、構文エラーのためにコンパイルに失敗することです。これは、TPRスクリプト構造のいくつかがJavaに変換できないという事実のために可能です。一般的な手順は、結果のJavaコードを手動で修正し、すべての計画ファイルの変換が完了していない場合は変換プロセスを繰り返すことです。既知の制限の非網羅的なリスト: