ユーティリティ (JA)-工事中
T-Plan Robot Enterprise用ユーティリティプラグイン
内容
1.概要
2.プラグインのインストール
3.使用方法
3.1ストップスケジュールスクリプト
3.2GetDateスクリプト
3.3ターミナルスクリプト
3.4ファイルコントロール・スクリプト
3.5PopUpWindowスクリプト
3.6CompareTexts スクリプト
3.7GetJsonValueスクリプト
4.変更履歴
1.概要
についてユーティリティプラグインは、テストスクリプトで使用する様々なユーティリティコマンドを提供します。ご質問やご提案がありましたらTプラン・サポート.T-Planが提供する他のプラグインのリストについては、以下を参照してください。これ.
2.プラグインのインストール
このプラグインを使用するには、T-Plan Robot 6.0以上が必要です。プラグインをインストールするには、以下の場所からダウンロードしてください:
バージョンの違いについては変更履歴.
オプション1:
ファイルを解凍し、utils.jarファイルをRobotのインストールディレクトリ下のplugins/ディレクトリにコピーします。これでRobotが起動時にクラスをロードするようになります。古いバージョンのプラグインは必ず削除してください。
Robotを起動または再起動する。テストスクリプトがRobotに公開されます。TPRスクリプトでRunコマンドを作成すると、プロパティウィンドウにプラグインスクリプトの一覧が表示されます。
オプション 2:
ファイルをハードドライブ上の任意の場所に解凍します。
TPRスクリプトでプラグインを使用する場合は、各テストスクリプトの先頭に以下のコマンドを追加してください:
含む"<ロケーション>/utils.jar"
Java テストスクリプトでプラグインを使用する場合は、utils.jar ファイルを Java クラスパスに追加します。
プラグインをアンインストールするには、ファイルを削除してインクルード参照を削除するだけです。
3.使用方法
バージョン0.5には、これらのJavaテストスクリプトが含まれています:
スクリプト名 | 説明 |
|---|---|
呼び出しているスクリプトや、そのスクリプトが実行しているワークアイテムを停止する。 | |
日付を処理し、カスタムフォーマットで保存します。 | |
ターミナル(コマンドプロンプト)にメッセージを出力する。 | |
他のプロセスが入力したテキストファイルからコマンドを実行する。 | |
ポップアップウィンドウを表示します。 | |
二つのテキストを一行ずつ比較する。 | |
com.tplan.utils.GetJsonValue | JSONドキュメントから属性の値を取り出す。 |
プラグインスクリプトは、TPRテストスクリプトからコマンド実行.コマンドはコマンドウィザードツールを使用します。既存の実行コマンドを編集するには、そのコマンドを右クリックしてプロパティをコンテキストメニューに追加する。
3.1 ストップスケジュールスクリプト
説明
についてcom.tplan.utils.StopScheduleコマンドの内部呼び出しを使って、呼び出し元のスクリプトを停止します。終了コマンド.スクリプトがワークアイテム(以前の "スケジュール")内で実行された場合、ワークアイテムも停止します。これは、ワークアイテムの実行中にユーザーがStopボタンをクリックした場合と同じ効果になります。スクリプトが単独で実行されている場合(ワークアイテム内ではない)、コマンドは出口一人だ。
あらすじ(Tprスクリプト)
走るcom.tplan.utils.StopSchedule[code=<数字>]。 [desc=<description>]。
あらすじ(Javaスクリプト)
走る("com.tplan.utils.StopSchedule"[コード"、"<数字>"] [, "desc"、"<説明>"]);
* 赤色は必須パラメータ
オプション
コード=<番号
- に渡される数値の終了コード。終了コマンド(オプション)。0(ゼロ)はスクリプトが合格したことを示し、それ以外の値では不合格となる。省略時のデフォルトは0(合格)。
desc=<説明
- に渡される説明文。終了コマンド(オプション)。終了コードが0以外の場合、スクリプトレポートに失敗の説明として表示されます。
リターン
このコマンドは常に0(ゼロ)を返す。
使用例
- 画面上にコンポーネントが見つからなかったため、スクリプトとワークアイテムを終了する:
走る"com.tplan.utils.StopSchedule"コード"1"desc="コンポーネントAが画面に表示されなかったため終了"
3.2 GetDateスクリプト
説明
についてcom.tplan.utils.GetDateスクリプトは、日付をロードするか、現在のものを使用し、それを変更(時間を追加または減算)し、結果を変数に保存することができます。スクリプトは4つのステップを実行する:
で指定された日付を読み込む。日付パラメータを使用する。そのインフォマットパラメータを使用して、入力の日付形式を指定する必要がある。日付が指定されていない場合、スクリプトは現在の日付を使用します。
で指定した時間を加減する。追加パラメータが必要だ。
で指定したパターンを使って日付をフォーマットする。アウトフォーマットパラメータまたはデフォルトのパラメータを使用する。
で指定した名前のスクリプト変数に書式付き日付を書き込む。ヴァールパラメーター、またはデフォルトのものに変更する。
あらすじ(Tprスクリプト)
走るcom.tplan.utils.GetDate[date=<日付>]。 [informat=<パターン>]。 [add=<time_value>]。 [outformat=<パターン>]。 [var=<変数名>]]。
あらすじ(Javaスクリプト)
走る("com.tplan.utils.GetDate"[日付」、"<日付>"] [インフォーマット」、"<パターン>"] [追加」、「<time_value>"][outformat」、"<パターン>"][var"、"<変数名>"]);
* 赤色は必須パラメータ
オプション
date=<日付
- 入力された日付、例えば「22-04-16」または「2016年4月22日」。
informat=<パターン
- Ajava.text.SimpleDateFormat準拠の日付パターンで、入力日付フォーマットを指定する。上の例のパターンは 'dd-MM-yy' と 'dd MMMM yyyy' です。書式が指定されていない場合は、デフォルトで_Date_Date_MMM_yyyyに定義されている書式が使われます。日付変数環境設定->言語パネルに設定するか、設定されていない場合はシステム・デフォルトのパネルに設定する。
add=<時間
- 追加する時期
または
を指定する。正の整数値または負の整数値の後に、's' (秒)、'm' (分)、'h' (時)、'd' (日)、'M' (月)、'y' (年) のいずれかの時刻修飾子をつけなければならない。たとえば「-7d」は、日付を1週分過去に移動させる。修飾子なしのプレーンな数値はミリ秒として解釈されます。
outformat=<パターン
- Ajava.text.SimpleDateFormat準拠の日付パターンで、出力日付フォーマットを指定する。上の例のパターンは、'dd-MM-yy' および 'dd MMMM yyyy' である。書式が指定されない場合、デフォルトで_Date_Date_MMM_yyyyに定義された書式が使われます。日付変数環境設定->言語パネルに設定するか、設定されていない場合はシステム・デフォルトのパネルに設定する。
var=<変数名
- 日付を保存する変数名。変数名が設定されていない場合は、デフォルトの__が使用されます。GDATE.
リターン
コマンドは常に0(ゼロ)を返す。無効な引数を指定すると構文エラーが発生し、スクリプトが終了する。
使用例
- 変数'Y'に昨日の曜日番号を格納する:
走る"com.tplan.utils.GetDate"を追加する。"-1d"var="Y"outformat="d"
- 指定された日付'22-03-2016'を読み込み、'23/03/16'のカスタムフォーマットで変数MYDATEに保存する:
走る"com.tplan.utils.GetDate"日付"22-03-2016"インフォマット"dd-MM-yyyy"outformat="dd/MM/yy"var=「MYDATE
- 現在の日付に1ヶ月を加えたものをデフォルトのフォーマットで変数'D'に保存する:
走る"com.tplan.utils.GetDate"を追加する。"1M"var="D"
3.3 端末スクリプト
説明
についてcom.tplan.utils.Terminalスクリプトはターミナル(コマンドプロンプト)にメッセージを出力します。これにより、プロセスの出力やロボットのアプリケーションログ(ヘルプ->ログビューア).
あらすじ(Tprスクリプト)
走るcom.tplan.utils.Terminal text="<text>"[err=<true|false>]。
あらすじ(Javaスクリプト)
走る("com.tplan.utils.Terminal", "text", "<text>"[err"、「true|false"]);
* 赤色は必須パラメータ
オプション
text=<テキスト
- 印刷するテキスト。改行文字は'˶n'として指定しなければならない。例えば、2行印字するには "First linenSecond linen "とする。
err=<true|false>。
- パラメータが省略された場合、または'false'に設定された場合、テキストは標準出力(JavaのSystem.out)に出力される。true'に設定すると、エラー出力が使用される。
リターン
このコマンドは常に0(ゼロ)を返す。
使用例
標準出力に2行を出力する:
走る"com.tplan.utils.ターミナル"テキスト"First linenSecond linen"
3.4 FileControlスクリプト
説明
についてcom.tplan.utils.FileControlスクリプトは、共有ファイル("入力ファイル").これは、サードパーティのフレームワークとの簡単な統合を可能にすることを意図している。このメカニズムは、サードパーティーのプロセス("運転プロセス")は、TPRコードのブロックやJavaテストスクリプト(「コードブロック)を作成し、実行中のRobotインスタンスに送り、即座に実行させる。スクリプトのライフサイクルは以下の通り:
無限ループに入り、指定された入力ファイル定期的に
ファイルが作成または変更されると、スクリプトはファイルのコピーを作成し、それを走るコマンドを使用してください。ファイルの拡張子が.javaの場合は、有効なJavaテストスクリプト.それ以外の拡張子を持つファイルはTPRスクリプト.
コード・ブロックが実行された後、スクリプトはレシート・ファイルを作成し、別のコード・ブロックを消費する準備ができたことを示す。
上記のプロセスは、以下のいずれかによってスクリプトが終了するまで繰り返される。出口メカニズム:
実施の詳細
最終ファイル変更時刻は、入力ファイルの変更を検出するために使用される。
コードが実行されている間は、ファイルの変更はチェックされない。駆動プロセスでは、同期化のためにレシート・ファイルを使用することが推奨される。典型的なシナリオでは、プロセスはレシート・ファイルを削除し、コードを入力ファイルに書き込んで、次のコード・ブロックを処理する前にレシート・ファイルが作成されるのを待ちます。
変更が検出されると、ファイルはファイルコントロールスクリプトの内容を安全にコピーできるようにするためである。駆動プロセスは、ファイルがロックされている間にそのファイルにアクセスしようと したときに発生するファイルI/Oエラーに対処できなければならない。I/Oエラーを安全に処理できないプロセスは、レシート・ファイルを待つか、あるいはファイルコントロールスクリプトがファイルを処理するのに十分な時間が必要です。たとえば、チェック間隔をデフォルトの250ミリ秒に設定した場合、コードがファイルに書き込まれてから1~2秒以内に変更が検出され、入力ファイルがコピーされると考えるのが妥当である。
運転プロセスがロボットインスタンスと同じマシンにあり、自動化がローカルデスクトップこのスクリプトは外部からのマウス操作で一時停止してしまうため、接続には限界がある。回避策は、"接続 java://localhost"をコードの各ブロックの先頭に置き、次のようにして接続を閉じる。切断で終了する。接続を高速化するには保存されたキーボードマップ.
入力ファイルからのすべてのコードは1つのセッション内で実行されるため、すべてのグローバル変数親スクリプトによって定義されます。コードブロック内で作成された変数はローカル変数として作成され、親スクリプトや別のコードブロックからは見えません。
参照例段落にセッションの例を示す。
あらすじ(Tprスクリプト)
走るcom.tplan.utils.FileControl input="<input_file>"[receipt="<receipt_file>"]] 。 [interval="<ミリ秒>"]]。 [verbose="<true|false>"]。
あらすじ(Javaスクリプト)
走る("com.tplan.utils.FileControl", "input", "<input_file>"[レシート」、「<receipt_file>"] [間隔」、"<ミリ秒>"] [冗長」、「true|false"]);
* 赤色は必須パラメータ
オプション
input=<入力ファイル
- TPRコマンドやJavaコードをロボットに入力するためのファイル。
receipt=<receipt_file>とする。
- 注入されたコードが実行を完了するたびにレシートを書き込むオプションのファイル。ファイルが存在しない場合は作成される。実行完了を検出するために、ドライブ・プロセスはファイルの変更スタンプを見るか、入力ファイルに書き込む前にファイルを削除し、そのファイルの存在をチェックすることを推奨する。受信ファイルには、RFC4180に準拠した重要なリソースを簡潔にまとめたCSVデータ(カンマ区切り):
について最前列の3つの値を常に含む。
exit,<exitCode>,<processExited>を終了する。
ここで"<exitCode>"は実行されたコードの終了コード(戻り値)であり、"<processExited>"はオートメーションが終了したかどうかを示す。値が "true "の場合、スクリプトはまだ実行中で、コードを処理する準備ができている。値が "false "の場合、スクリプトは実行されていない。出口メカニズム上記の通りである。
について二行目へのフルパスが含まれます。実行ログとしてファイルする:
ログ,<ログファイル
パフォーマンス上の理由から、ログファイルはスクリプトの終了後にのみ作成されることに注意してください。つまり、スクリプトが生きている間はファイルは存在せず、このフィールドはファイルが作成される場所を示している。
スクリプトがレポートコマンドの3行目には "report,<reportFile>"というパスが含まれる。
さらにラインは実行コマンド(順番は守られている):
interval=<ミリ秒
- ミリ秒単位のファイルチェック間隔(オプション)。デフォルト値は250ミリ秒です。
verbose=<true|false>とする。
- オプションのログレベルフラグ。true'を指定すると、実行されたすべてのコードが実行ログに記録されます。デバッグ目的でのみ使用してください。冗長モードで長時間操作すると、メモリ消費量が増える可能性があります。
リターン
このコマンドは常に0(ゼロ)を返す。
使用例
の機能を理解する。ファイルコントロールスクリプトで以下の手順を実行する:
Robotを開き、以下の内容で新しいTPRスクリプトを作成します(ファイルパスはローカル環境に合わせてください)。
含む"C:◆UsersJohn◆MyAutomation◆utils.jar"
レポート"results.xml"
走る"com.tplan.utils.FileControl"input="C:¥Users¥John¥MyAutomation¥control.tpr"レシート"C:¥Users¥John¥MyAutomation¥receipt.csv"verbose=真
スクリーンショット"finalcreen.png"スクリプトを起動し、実行したままにする。
入力ファイルをテキストエディタ(メモ帳、Jeditなど)で開く(作成する)。以下の行を入力し、保存する:
ステップ「ステップ例その1パス
待つ"5s"ロボットのGUIを観察する。実行ログビューアには受信したコードが記録される。下部のステータスバーにはタイムアウトのカウントダウンが表示され、5秒間の待機操作中であることを示します。終了したら、受信ファイルを読んでください。以下のような内容です:
終了,0,真
log,C:\Users\John\MyAutomation\reports\Script1.tpr_1473159479894.a42cc\log.html
report,C:¥Users¥John¥MyAutomation¥reports¥Script1.tpr_1473159479894.a42cc¥results.xml
ステップ、ステップ例1、パステキストエディタに戻る。内容を "Exit 1 "か "Quit "に置き換えてファイルを保存し、ロボットのGUIで動作を確認してください。スクリプトは終了します。レシートファイルを見てみると、1行目の最後の値が "false "になっており、スクリプトが生きていないことがわかります。ExitとQuitの違いは以下の通りです:
Quit will terminate just the the FileControl script and return the control to the parent one. If you check the resulting report it will contain the "finalscreen.png" screen shot.
Exit will terminate the parent script. The Screenshot command in the code above will not be executed.
3.5 PopUpWindowスクリプト
説明
についてcom.tplan.utils.PopUpWindowスクリプトはローカルデスクトップにポップアップウィンドウを表示します。 これは、デモンストレーション目的や対話型スクリプト(ユーザーにオプションを選択させる)に使用することができます。
あらすじ(Tprスクリプト)
走るcom.tplan.utils.PopUpWindow[text="<text>"]。[title="<タイトル>"]]。[buttons="<button_list>"]。[timeout=<time>]。
あらすじ(Javaスクリプト)
走る("com.tplan.utils.PopUpWindow"[text","<text>"]。[タイトル"、"<タイトル>"] [ボタン」、「<button_list>"] [タイムアウト」、「<time>"]);
* 赤色は必須パラメータ
オプション
text=<テキスト
- 表示するメッセージ(オプション)。プレーンテキストか、"<html><body>"で始まるHTMLコードです。
タイトル
- ウィンドウのタイトル(オプション)。
button=<ボタンリスト
- セミコロン(;)で区切られたボタン・ラベルのリスト(オプション)。例えば、"OK;Cancel "と指定すると、"OK "と "Cancel "の2つのボタンを持つウィンドウが表示されます。ユーザが選択したボタンは_POPUP_BUTTONスクリプト変数に保存されます。ウィンドウがタイムアウトした場合は、最初のボタンが使用されます。パラメータが省略された場合、ウィンドウにはデフォルトの "OK "ボタンだけが表示されます。
timeout=<true|false>とする。
- ユーザーがいずれかのボタンでウィンドウを閉じない限り、ウィンドウを閉じるタイムアウト。有効な時間的価値.オフに設定するには、パラメータを省略するか、0を指定する。
リターン
このコマンドは常に0(ゼロ)を返す。
使用例
ヘッダーフォントで "Hello!"のメッセージを表示し、10秒後に閉じる:
走る"com.tplan.utils.PopUpWindow"テキスト"<html><body><h1>こんにちは!</h></body></html>"timeout="10s"
3.6 CompareTexts スクリプト
説明
についてcom.tplan.utils.CompareTextsは、2 つの複数行テキストを 1 行ずつ比較し、行の欠落を検出します。行の比較には、厳密なテキストマッチとあいまいなテキストマッチがあります。行順の違いは無視されます。
あらすじ(Tprスクリプト)
走るcom.tplan.utils.CompareTexts [text1="<text>"]] を参照してください。[text2="<テキスト>"]]。 [距離="<数字>"]]。[テンプレート="<テンプレートテキスト>"]]。
あらすじ(Javaスクリプト)
走る("com.tplan.utils.CompareTexts"text1", "<text>"text2"、"<テキスト>"[距離」、"<数字>"] [テンプレート"、"<templateText>"]);
* 赤色は必須パラメータ
オプション
text1=<テキスト
- テキスト1つ(必須)
text2=<テキスト
- 最初のテキストと比較される別のテキスト(必須)
distance=<ボタンリスト
- ファジーマッチングの距離 (オプション)。このパラメータが指定されない場合、デフォルトは 0 で、スクリプトは正確なテキストマッチングを適用します。0より大きな値を指定すると、レーベンシュタイン距離によるファジーテキストマッチングが可能になります。これは、2つの行がまだマッチしているとみなすために、何文字が異なっていたり省略されていたりするかを大まかに表すものです。
template=<テンプレート・テキスト
- TEXTDIFF変数に格納された比較サマリーに使用される行差テンプレート(オプション)。これはレポート用にカスタマイズすることができる。デフォルトのテンプレートは
項目「{0}」が{1}テキストにのみ存在する
ここで{0}は行テキストに、{1}は "first "または "second "の単語に置き換えられる。
リターン
このコマンドは、不一致のテキスト行の数を返すか、テキストに同じ行が含まれている場合は0(ゼロ)を返す。不一致の行数は_TEXTDIFF_COUNT変数にも格納される。
使用例
- 典型的な使用法は、OCRを使用してスクリーンから取得した2つのテキストを比較することである:
// 最初の画面領域でテキストを認識する比較するmethod="tocr"cmparea=。"x:4,y:71,w:119,h:53"// 結果の複数行テキストを変数に保存するヴァールTEXT1="{_TOCR_TEXT}"// 別の領域のテキストを認識する比較するmethod="tocr"cmparea=。"x:6,y:225,w:119,h:80"// テキストを比較する。結果は_TEXTDIFF接頭辞付き変数を参照。走る"com.tplan.utils.CompareTexts"距離"3"text1="{TEXT1}"text2="{_TOCR_TEXT}"
3.6 GetJsonValueスクリプト
説明
についてcom.tplan.utils.GetJsonValueJSONドキュメントを解析し、属性の値を取り出す。
あらすじ(Tprスクリプト)
走るcom.tplan.utils.GetJsonValue [json="<JSON_document>"] ]。[name="<属性名>"]]。 [parent="<parent_attribute_name>"]] 。[var="<var_name>"]] 。
あらすじ(Javaスクリプト)
走る("com.tplan.utils.GetJsonValue", "json", "<JSON_document>", "name", "<属性名>"[親」、"<親属性名>"] [, "ヴァール","<変数名>"]);
* 赤色は必須パラメータ
オプション
json=<JSON_document>。
- JSONドキュメント(必須)。
name=<属性名
- 属性名(必須)
parent=<parent_attribute_name>(親属性名)。
- 親属性のオプション名。これにより、文書内の特定のオブジェクトに検索を制限することができます。親は直接でも間接的(親の親など)でもかまいません。
var=<var_name>
- 属性値を格納する変数名。パラメータが省略された場合の場合、結果はデフォルトの_JSON_VALUE変数に格納される。
リターン
このコマンドは、成功すれば0を返し、ルックアップに失敗すれば1を返し、内部エラーが発生すれば2を返す。
使用例
- この例では、"date "の値を "mydate "変数に取り出し、それをプリントアウトしている。
// 結果の複数行テキストを変数に保存するヴァールJSON="{\"status\":{\"id\":240000778,\"date\":\"2024-05-08\"}}"走る"com.tplan.utils.GetJsonValue"json="{JSON}"名前日付var="マイデイト"ログ「日付は日付は: {mydate}"
4.変更履歴
バージョン0.6リリース:2024年5月8日
GetJsonValueスクリプトが導入された。
2017年12月11日にリリースされたバージョン0.5
テキスト比較スクリプトが導入された。
2016年9月8日にリリースされたバージョン0.4
ファイルコントロールそしてポップアップウィンドウスクリプトが導入された。
2016年4月11日にリリースされたバージョン0.3
ターミナルスクリプトが導入された。
2016年3月24日にリリースされたバージョン0.2
取得日スクリプトが導入された。
2015年3月9日にリリースされたバージョン0.1
で初公開。ストップスケジュールスクリプト