ハートコア株式会社
HeartCore Robo マニュアル一覧へ
2022/05/16

HeartCore Robo 独自言語(TPRスクリプト)リファレンス

最終更新日:2022年5月26日

目次

1.
はじめに
1.1 目的
1.2 書式
1.3 本製品の特徴
2. 言語構文
2.1 言語構造
2.2 時間値
2.3 変数
2.4 プロシージャ
2.5 フォールバックプロシージャ
2.6 数値式
2.7 論理式
2.8 関数
2.9 If/Else文
2.10 For文
2.11 戻り値
2.12 Javaコードブロック
3. コマンドの構文
3.1 デスクトップコマンド
3.1.1 Browser
3.1.2 Connect
3.1.3 Disconnect
3.1.4 Gesture
3.1.5 Mouse
3.1.6 Paste
3.1.7 Press
3.1.8 Type / Typeline
3.2 管理および実行制御コマンド
3.2.1 Alert
3.2.2 Break
3.2.3 Click
3.2.4 CompareTo
3.2.5 Continue
3.2.6 Date
3.2.7 Drag
3.2.8 Eval
3.2.9 Exec
3.2.10 Exit
3.2.11 Imagedoctor(イメージドクター)
3.2.12 Include
3.2.13 Pause
3.2.14 Run
3.2.15 String
3.2.16 Var
3.2.17 Varf
3.2.18 Varg
3.2.19 Wait
3.2.20 Waitfor
3.3 レポートコマンド
3.3.1 Log
3.3.2 Report
3.3.3 Screenshot
3.3.4 Script
3.3.5 Sendmail
3.3.6 Step
3.3.7 Timer
3.3.8 Warning
3.4 I/O コマンド
3.4.1 Excel
3.4.2 File
3.4.3 Mail
4. イメージ比較機能
4.1 イメージ比較の書式
4.1.1 イメージコレクション
4.1.2 画像メタデータ
4.1.3 イメージ比較の推奨事項
4.2 イメージ検索方法
4.2.1 イメージ検索v2( "search2")
4.2.2 イメージ検索( "search")
4.2.3 オブジェクト検索( "object")
4.3 テキスト認識方法
4.3.1 Tesseract-OCR( "tocr")
4.3.2 画像ベースのテキスト認識( "text")
4.4 その他の方法
4.4.1 ヒストグラムベースの比較("default")
4.4.2 画像の違い("diff")

1. はじめに


1.1 目的

このドキュメントでは、HeartCore Robo v6.3.4以前でサポートされるテストスクリプト言語ファイル(ファイル名.tpr)の完全な仕様を提供します。その目的は、このツールとそのテストフレームワークを使用して自動テストスクリプトを作成するユーザーに完全な構文と機能のリファレンスを提供することです。スクリプト言語はJava Test Script APIと緊密に連携しているため、Javaテストスクリプトの設計に補完的な機能参照を提供することも目的としています。

このドキュメントで説明する言語のテストスクリプトは、TPRテストスクリプトと呼ばれます。Java Test Script APIに基づくテストスクリプトは、Javaテストスクリプトと呼ばれます。

このドキュメントは、 T-PLAN社の旧バージョンVNCRobot 1.3仕様に基づいており、下位互換性を維持しテストスクリプトの要件・解析および処理ルール、文、式、コマンド、イメージ比較メソッドなどの特定の要素の言語構造および構文について説明します。


1.2 書式

HeartCore Roboは、自動化テストスクリプトを作成するためのシンプルな独自スクリプト言語をサポートしています。これは Linux/Unix のシェルスクリプトにやや似た構造化手続き型言語です。現代のプログラミング言語でよく知られている以下のような構造と要素をサポートしています。

HeartCore Roboは、最も一般的なリモートおよびローカルのデスクトップテクノロジで動作するように設計されています。それをサポートするスクリプト言語は、コマンドが以下4つの機能領域に分類されます。

  1. デスクトップコマンド は通常、HeartCore Roboが操作するデスクトップおよびリモート先との接続/切断、マウスとキーボード入力の転送(キーの押下、テキストの入力、マウスの移動の実行、クリック、ドラッグ、またはホイールイベント)など、クライアント・サーバ間の通信をコントロールします。
  2. 管理および実行制御コマンド は、テストスクリプト実行制御(一時停止、停止、デスクトップイメージ解析、指定された時間または特定のイベントの待機)、変数、ライブラリ、外部OSコマンド呼び出しのサポートに必要なインフラストラクチャを提供します。
  3. レポートコマンド は、自動テスト出力を定義し、ユーザーに報告します。このカテゴリのコマンドを使用すると、たとえば、デスクトップイメージまたはその一部のスクリーンショットを取ったり、レポートを作成したり、電子メールを送信したり、テスト結果を関連するテスト管理ツールにアップロードしたりすることができます。
  4. I / Oコマンドは 、さまざまなデータソースからの入出力を処理します。
一部のコマンド動作は、ユーザーの設定によってカスタマイズされる可能性があることに注意してください。このようなパラメータは実装固有のものであり、設定されていた場合に必ずしもこのドキュメント内容と構成が合致するとは限りません。固有の設定・構成可能な値があるかどうか調べるには、HeartCore RoboのGUIで プリファレンス設定 ウィンドウを開いて、 プラグイン セクションの下にコマンド設定用のパネルがあるかどうかを確認してください。

TPRスクリプティング言語は、高速かつ容易な自動化方法を提供しますが、機能には限界があり完全なオブジェクト指向ではありません。このため、HeartCore Roboでは、 Java Test Script API を利用することで、このリファレンスで指定されたコマンドの機能にアクセスするメソッド呼び出しを介しJavaでテストスクリプトを書くことができます。そのため、Javaを使用する予定がある場合においてもこのページの仕様を参照する必要があります。詳細は、 Java API documentation を参照してください。特に、「 Developing Java Test Scripts」ドキュメントを参照してください。

テストスクリプトは、Javaソースコードの埋め込みスニペットでカスタマイズすることもできます( Javaコードブロック の章を参照)。Javaでコード化されたカスタムアクションで言語を強化するもう1つの方法は、Javaのパラメータ化された呼び出しをサポート>する Runコマンド です。


1.3 本製品の特徴

HeartCore Roboは、機能が豊富で成熟した製品です。製品内容は以前のバージョンで開発された言語仕様に基づいて構築されています。HeartCore Roboは以前の製品バージョンの上に追加の機能を提供しているため、TPR独自言語はレポートジェネレータ・画像比較アルゴリズム・デスクトップクライアントなどの追加コマンド、またサービスプロバイダによって随時拡張されています。以前の製品バージョンで設計されたスクリプトは、HeartCore RoboのTPRスクリプト言語と上位互換性を保っています。




2. 言語構文


2.1 言語構造

TPRスクリプト言語はテキストベースのプログラミング言語です。TPRテストスクリプトは拡張子.tprのプレーンテキストファイルとして保存され、次のルールが適用されています。
TPRテストスクリプトは、次のルールに従って解釈されます。
# これはコメントです
// これもコメントです