HeartCore Robo スクリプトエディタ
目次
1. スクリプトエディタの概要
2. エディタのコンテキストメニュー
3. テストスクリプトの記述
4. テストスクリプトのコンパイル
5. テストスクリプトの実行
1.スクリプトエディタの概要
スクリプトエディタでは、テストスクリプトを作成および編集できます。テストスクリプトの作成と実行を容易にするための追加機能を備えた標準的なテキストエディタです。エディタは、GUIの左下部分にあるタブ付きのペインで構成されています。各エディタは3つの主要コンポーネントで構成されています。
- エディタ本体を囲むタブ付きペインはエディタコンテナとして機能します。タブ名がスクリプトファイル名です。エディタの内容が変更された場合は *(アスタリスク)が追加表示されます。マウスポインタをタブテキストの上に置くと、完全なスクリプトファイルパスのファイル名が表示されます。このタブでは、マウスの右ボタンをクリックすると(メインGUIの[ファイル]メニューの[スクリプトを閉じる]または[スクリプトを保存]等)のコンテキストメニューが表示され選択できます。
- エディタ部の左外枠は行番号を提供し、この部分をクリックすることでスクリプトの実行を一時停止(ポーズ)するブレークポイントを設定・解除できます。
- コードエディタは次の機能を搭載したHeartCore Robo標準のテキストエディタです。
- コードの構文の強調表示は、コード可読性が向上し、スクリプト言語(TPRまたはJava)の個々の要素を区別するのに役立ちます。配色設定は、プリファレンス設定ウィンドウのスクリプトエディタパネルでカスタマイズすることができます。
- エディタのコンテキストメニューは、現在の行でスクリプトおよび/または特定のスクリプト要素(コマンドまたはJavaメソッド呼び出し)の選択されたアクションへのアクセスを提供します。詳細については、「エディタのコンテキストメニュー」の章を参照してください。
- コマンドとコードテンプレートウィザードは、スクリプト言語のコマンドやコードの断片(スニペット)を作成するために、快適なGUI支援方法を提供します。詳細は、「テストスクリプトの記述」の章を参照してください。この機能は、Javaテストスクリプトには適用されません。
- スクリプト実行のサポートは、テスト・スクリプトの実行を制御してデバッグすることができます。エディタは基礎となるテストスクリプトの解釈と密接に連携しているため、コマンドのサブセットだけに実行を制限したり、実行の進捗状況をトレースしたり、ブレークポイントを設定したり、一度に1つのコマンドしか実行しないモード(ステップ実行)に入ることができます。詳細については、「テストスクリプトのコンパイルと実行」を参照してください。
TPRテストスクリプトエディタは、3つのスクリプトビューをサポートしています。
- グラフビューは、フローチャート型に表示される開発エディタモードです。エディタ本体右側のコマンドリストから必要なコマンドをドラッグしてくることでロボットを作成します。詳細設定は各コマンドのプロパティウインドウで行います。
- ツリービューは、名前の通りスクリプトをツリー上に表示するモードです。コマンドの設定はグラフビュー同様右側コマンドリストから必要なコマンドをドラッグしてきます。詳細設定は各コマンドのプロパティウインドウで行います。
- スクリプトコードは、テキストエディタタイプの開発エディタモードです。エディタ本体右側のコマンドリストから必要なコマンドをドラッグ、またはエディタ上で直接テキストを記述することができます。詳細設定に関しても各コマンドのプロパティウインドウ、直接記入両方で行右ことができます。コメントアウトはこのモードでしか行うことができません。
Javaテストスクリプトエディタは、2つのスクリプトビューをサポートしています。
- フルビューは、ファイルのJavaクラス全体を表示します。
- ショートビューは、test() メソッド (または、メソッド内のメインの try/catch ブロック) の内容だけが表示され、テストスクリプトの本文を表します。残りの java クラスは、java クラスヘッダとjava クラスフッタのノードに折りたたまれています。これらは、最終的に + ボックスをクリックして展開することができます。
コードエディタは、すべての通常の編集機能と以下のようないくつかの特定のアクションをサポートしています。緑のアスタリスクでマークされたショートカットキーは、エディタの環境設定で設定できます(エディタのコンテキストメニューの章を参照)。
アクション名
|
ショートカットキー
|
説明
|
元に戻す
|
Ctrl + Z |
最後の編集を元に戻します。
|
やり直し |
Ctrl + Y |
最後に元に戻した編集をやり直します。
|
コピー
|
Ctrl + C |
選択したテキストをシステムのクリップボードにコピーします。
|
カット
|
Ctrl + X |
選択したテキストをシステムクリップボードに切り取ります。 |
ペースト
|
Ctrl + V |
システムのクリップボードの内容を現在の位置に貼り付けます。
|
検索/置換
|
Ctrl + F |
エディタで文字列を検索または置換します。
|
行に行く
|
Ctrl + G |
指定された行番号に移動します。
|
コメントアウト
|
Ctrl + /(スラッシュ)*
|
選択したコードブロックをコメントアウトするかコメントを外します。
|
ブレークポイントの切り替え
|
Ctrl + B * |
ブレークポイントを作成/削除します。
|
コンテキストメニュー
|
Ctrl + Shift + Enter * |
エディタのコンテキストメニューを開きます(マウスの右クリックと同じです)。
|
コマンドウィザード
|
Ctrl + Enter * |
コマンドウィザードのメニューを開きます。
|
コードテンプレートウィザード
|
Ctrl + I
|
コードテンプレートウィザードの一覧を開きます。
|
新しいスクリプト
|
Ctrl + N
|
新しいエディタで新しいテストスクリプトを作成します。
|
スクリプトを開く
|
Ctrl + O
|
新しいエディタでテストスクリプトを開きます。
|
スクリプトを保存する
|
Ctrl + S
|
現在のテストスクリプトを保存します。
|
スクリプトを閉じる
|
Ctrl + W
|
現在のテストスクリプトを閉じます。
|
コンパイルスクリプト
|
F9
|
現在のスクリプトをコンパイルします。
|
スクリプトを実行する
|
F6 |
現在のスクリプトを実行します。
|
Javaへのエクスポート
|
Ctrl + J |
Java Converterを使用してスクリプトをJavaに変換します(TPRスクリプトのみ)。
|
これらの機能の大部分は
、メインGUIのファイルおよび編集メニューでも利用できます。
2.エディタのコンテキストメニュー
コンテキストメニューは、テキストエディタコンポーネントのテキスト行で直接マウス右クリックやダブルタップすることでアクセスできます。Ctrl + Shift + Enter のショートカットでも表示できます。
このメニューには、次の3種類のアクションがあります。
- 安定したエディタのアクションのようなスクリプトをコンパイルとエディタを設定。これらは常に利用可能で、通常はメニューの一番下にあります。
- コンテキストアクションは、現在の行のテキストエレメントに関連付けられます。
- 行が空白の場合は、コマンドとコードテンプレートウィザードにアクセスできます。コンポーネントのキャプチャと呼ばれるアクションでは、コンポーネントイメージを画面からファイルに保存し、そのコンポーネントに対してスクリプトアクションを作成することができます。
- 行に有効なTPRコマンドまたはJavaテストスクリプトAPIメソッド呼び出しが含まれている場合、メニューにはコマンドアクションが含まれています。プロパティアクションパラメータエディタとコマンド/メソッド呼び出しを編集することができます。コマンドが設定可能なパラメータに依存している場合は、Configure <コマンド>アクションがあります。
- いくつかのコマンド/メソッド呼び出しは、追加のコンテキストまたは実行固有のアクションを定義します。 たとえば、WaitコマンドのContinueアクションは、コマンド実行中にのみ使用できる動的アクションであり、スクリプトを直ちに再開することができます。
3.テストスクリプトの作成
エディタは、スクリプト言語に精通していないユーザでも簡単にスクリプトを書くことができるようになっています。テストスクリプトの作成には、次のワークフローが推奨されます。
- プロジェクトテンプレートとレポートパスを使用し、テスト結果とともにXMLファイル(いわゆる「レポート」)を作成するようにスクリプトを構成することを強くお勧めします。詳細については、プロジェクトビューのトピックを参照してください。
- コンポーネントキャプチャ機能を使用して、画面認識を操作するブロック全体を作成します。より細かい開発には、コマンドウィザード(Ctrl + Enterまたは右クリック - > コマンド/メソッド呼び出しの作成)を利用して、アトミックスクリプト操作を作成してください。
または、スクリプト記録機能を 使用して 、スクリプト内のマウスイベントとキーボードイベントの基本フローを生成します。スクリプトレコーダーを参照してください。
詳細については、ヘルプトピックを参照してください。次に、生成されたコードを手動で調整します。必要に応じて、タイムアウトの変更、コマンドのマージ、再利用可能なプロシージャの作成、またはコマンド引数のパラメータのパラメータ化を行います。
- 記録する際に、リモートデスクトップの内容や画像比較を使用したコンポーネントの存在を確認することが適切な場合に、検証のポイントを定義します。このような各時点で録画を停止し、コンポーネントキャプチャウィザードのいずれかを利用してコンポーネントイメージを作成し、コンポーネントでスクリプトアクションを作成します。または、CompareTo、ScreenshotまたはWaitForウィザードを使用してテンプレートイメージを作成し、スクリプトでアトミック比較操作を設定することもできます。
- スクリプトコードのフラグメントは、コードテンプレートウィザード(Ctrl + Iまたは右クリック - > コードテンプレートの挿入)で簡単に作成できます。カスタムテンプレートも作成できるテンプレートエディタがあります。詳細については、「コードテンプレート」を参照してください。
- 基本的な自動化コードが設定されたら、結果を報告する方法を決めます。ツールパネル
には、あなたがどこのテスト結果(レポート)と形式での保存先を定義することができます。スクリーンショットを作成するには、Screenshotコマンド
インスタンスをテストスクリプトの適切な場所に挿入します。スクリーンショットウィザードは、コマンドの構文を知らなくても、コマンドを作成するのに役立つように設計されています。
- スクリプトを変更するには、変更するコマンドまたはメソッド呼び出しを右クリックし、プロパティ
項目を選択してパラメータエディタを開きます。
4.テストスクリプトのコンパイル
各スクリプトは実行前にコンパイルされ、最終的には変更後にコンパイルされます。このタスクは、test script interpretと呼ばれるオブジェクトによって自動的に実行されます。
- TPRテストスクリプトは、コードが解釈されるため実際にはコンパイルされません。コンパイルでは、構文エラーのチェック、および依存関係とリソース(イメージ、ライブラリなど)の存在の確認に限定されています。
- Javaテストスクリプトは、
javac
Javaコンパイラを使用してバイトコード(.class)にコンパイルする必要があります。Java Development Kit(JDK)がHeartCore Robo Desktopのランタイムとして使用される場合、ツールはJavaコードをメモリ内でシームレスにコンパイルし、バイトコードをファイルに保存することなく実行することができます。
エディタは、以下をサポートすることによって、コンパイル時の元になるテストスクリプト解釈を助けます。
- オンデマンドコンパイルは、エディタのコンテキストメニューまたはメインGUIスクリプトメニューのコンパイルメニュー項目から呼び出すことができます
- オンザフライコンパイルは、各スクリプトの変更と設定されたアイドル時間の後に自動的に実行されます。これにより、作成中および/または変更中のスクリプトの有効性を継続的にチェックすることができます。コンパイルには大変時間がかかるため、大規模スクリプトを扱う場合パフォーマンスが大きく低下することがあります。この機能をオフにする、またはタイムアウト値を変更するには、プリファレンス設定ウィンドウを開き、スクリプト - > 実行に設定します。エディタをオフにすると、スクリプトを手動でコンパイルするか実行するまで、エディタは構文エラーを報告しません。
コンパイルプロセスがスクリプトのエラーを検出すると、次のようになります。
- コンパイラ タブのアイコンは、赤いボールになり、そのペインには、スクリプトエラーのリストが表示されます。エラーをクリックすると、エディタの対応する行にジャンプします。エラーを右クリックすると、それをクリップボードにコピーすることができます。「コンパイラタブ」のトピックも参照してください。
- エディタタブに赤い感嘆符アイコンが表示され、スクリプトにエラーが含まれていることが示されます。
- エラーを含むエディタ行に赤で下線が引かれます。下線の色は、プリファレンスウィンドウの外見&アクセシビリティ - > スクリプトエディタパネルで設定できます。
- エラーメッセージは、マウスポインタが行の上に置かれたときはいつでもツールヒントの形式で表示されます。
- キャレット(ドット)が対応するエディタ行にあるとき、ステータスバーにもエラーメッセージが表示されます。
5.テストスクリプトの実行
アクティブエディタで開いたスクリプトは、メインGUIウィンドウのスクリプトメニューまたは対応するツールバーボタンのコントロールを使用して実行できます。
GUIにワークアイテム(スケジュール)とテストスクリプトの両方が開いている場合、
実行 ボタンは常にワークアイテム(スケジュール)を優先します。テストスクリプトを単独で実行するには、スクリプトエディタを右クリックし、コンテキストメニューから
スクリプトを実行を選択します。
スクリプトまたはその一部(選択実行を参照)が実行されている間、
実行または
選択ボタンは 一時停止ボタンに変わります。スクリプトやワークアイテム(スケジュール)を一時停止することができます。一時停止をオンに設定しても、現在実行されているコマンドには適用されず、コマンド実行が終了して次のコマンドの開始時点でスクリプトが中断されます。一時停止機能は他の機能でも使用されます。ブレークポイントと、ステップバイステップモードが有効になったときにポーズフラグに設定されます。
スクリプト実行の動作は、[ スクリプト ]メニューにあるフラグ(オプション)の影響を受けます。
- イメージドクターを有効化は実行されたテストスクリプトでイメージ比較の失敗を解決することができるイメージ・ドクターを制御します。
- ステップ実行 は、すべてのコマンドの後にスクリプトを一時停止し、一度に1つのコマンドを実行できるようにします。
実行追跡はエディタ間で切り替えを行い、現在のエディタをスクロールして実行された行をビューに保持します。
-
実行アニメーションを表示 は、マウスの動き、クリック、ドラッグ、および画像比較タスクのアニメーションを画面上でオン/オフに設定します。
- 実行出力を無効化はレポート、ログ、スクリーンショットなど、すべてのスクリプトとスケジュールファイルの出力が無効になります。このオプションは、
--nooutput
CLIオプションで外部から設定することもできます。
選択実行(ブロック実行)
エディタでは、スクリプト全体ではなくコマンドブロックのみを実行することができます。これを実行するには、
実行する行を選択(強調表示)して、選択実行メニュー項目またはツールバーボタンを選択します。コマンドを完全に強調表示する必要はありません。コマンドの1文字だけを選択しても、HeartCore Robo Desktopは行全体を実行します。次の図は、CompareToコマンドとif / elseブロックをまたいだ実行を示しています。
TPRテストスクリプトのブロック実行には、次の規則が適用されます。
- 選択されたコードの前にスクリプトで定義されたすべてのプロシージャと変数は正しく定義され、選択されたコマンドで参照されます。
- プロシージャの内部からのコマンドの実行は許可されていません。選択されたブロックはプロシージャを呼び出すだけです。
- 不完全なJavaコードブロックの実行はサポートされていません。
Javaテストスクリプトのブロック実行は、v3.1以降でサポートされています。次の規則が適用されます。
- test()メソッドのメインtry-catchブロックからのコードだけを選択して実行することができます。
- 選択されたブロックはコンパイル可能なコードを形成しなければなりません。たとえば、コードが選択範囲外で宣言されたローカルJava変数に依存する場合、ブロックは実行に失敗します。
実行トレース
エディタは上図画像のように、現在実行されているコマンドラインを黄色(またはその他のカスタムカラー)でハイライトします。プリファレンス設定に応じて、ツールはエディタ間で切り替えたりビューをスクロールして実行された行を表示します。この機能を使用すると、現在実行されているコマンドをトレースできます。その動作は2つのフラグによって制御されます。
- 「プリファレンス設定」ウィンドウの[スクリプト] - >[実行]パネルで使用可能な「含有ファイルをスクリプト実行中に開く」チェックボックス:スクリプトを実行すると、RunまたはIncludeコマンドを使用して他のスクリプトを実行または取り込むことができます。このフラグは、HeartCore Roboが、リンクされたスクリプトを実行時に新しいエディタで開くかどうかを定義します。
- [
実行トレースを実行 ]メニュー項目を選択すると、エディタ間でHeartCore Roboが切り替わり、現在のエディタがスクロールされ、実行された行がビューに保持されます。これはデフォルトでオンになっています。エディタを手動で切り替えるか実行中にスクリプトの編集を開始すると、この機能は自動的にオフになります。
実行トレースはJavaテストスクリプトでもサポートされていますが、Java Test Script APIメソッド呼び出しにのみ限定されています。
デバッグ
テストスクリプトのデバッグは、ブレークポイントとステップバイステップ実行機能によってサポートされています。ブレークポイントは、特定の行のスクリプトの実行を一時停止します。ブレークポイントに達すると、スクリプトは 一時停止され、一時停止メニュー項目またはツールバーボタンの選択を解除するまで再開しません。
ブレークポイントを定義するには、番号表示のあるエディタのフチをクリックします。クリックポイントから右側の行には、有効なコマンド(TPRスクリプト)またはJava Test Script API メソッド呼び出しが含まれている必要があります。(Javaテストスクリプト)。エディターの行が赤くなり、ガターに赤い地球のアイコンが表示されます。ブレークポイントを作成する別の方法は、エディタ画面の左フチを右クリックし、コンテキストメニューの[ ブレークポイントの追加 ]を選択することです。ブレークポイントは、同様の方法で削除できます。このメニューは、エディタ内のすべてのブレークポイントを削除する方法も提供します。既存のブレークポイントのポップアップメニューが表示されている次の図を参照してください。
メニュー項目とツールバーボタンを使用して ステップ実行することにより、一度に1行のコードだけを実行できます。次の規則が適用されます。
- ステップバイステップ機能がオンになっている場合、実行を1行ごとに一時停止すると、次の行に進むために一時停止を解除する必要があります。
- スクリプト行に別のファイルにある他のコマンドの実行を含むコマンドが含まれている場合、動作は2つのフラグ、「スクリプト実行中のファイルを開く」フラグ(「環境設定」 - >「スクリプト」で設定可能)および
実行トレースを実行する メニュー項目に依存します。主にプロシージャの呼び出しとrunコマンドに適用されます。
- 両方のフラグがオンの場合、ファイルはエディタで開き、関連するコマンドもステップごとに実行されます。
- 少なくとも1つのフラグがオフの場合、コマンドは一度に実行されます。たとえば、プロシージャまたはファイル全体が一度に実行されます。
実行コントロールに使用する色を設定するには、プリファレンス設定ウィンドウを開き、外見&アクセシビリティ -> スクリプトエディタツリーノードに移動します。
もう1つ興味深いエディタ機能は、実行中のTPRスクリプトを実際に編集できることです。まだ実行されていないコードを変更すると、変更が実行されたコードに変更が反映されます。これは、独自のテストスクリプトの解釈が内部でDocument Object Model(DOM)を使用して、次に実行される行(要素)を決定するために可能です。この機能により、ブレークポイントとステップスクリプトの実行を組み合わせたテストスクリプトの簡単で快適なデバッグを可能にしています。