Var
3.2.17 Var
説明
Var - スクリプト変数を定義します。スクリプト変数のサポートに関する一般的な説明は Variables の章を参照してください。
書式付きテキスト(複数行、タブ、...)の作成には Varf コマンドを使用してください。数値式の値を評価(計算)して変数に格納するには Eval コマンドを使います。
アンダースコア ('_') で始まる変数は、いわゆる定義済み変数です。これらは通常、T-Plan RobotまたはT-Plan Robotのコマンドによって提供され、実行コンテキストや操作結果に関する情報を提供する有用な値が格納されています。 以下に、最も重要なものを網羅的でない表で示します。
誰がいつ創作するのか | 変数名 | 説明 | |
|---|---|---|---|
クライアントがデスクトップサーバーからクリップボードの変更を受信したときのロボット | _SERVER_CLIPBOARD_CONTENT=<text> | リモートデスクトップのクリップボードの内容。通常、リモートデスクトップ上でコピーアクション(Ctrl+C)が実行されるなどして、サーバーのクリップボードが変更された後に入力されます。この仕組みは「サーバーからクライアントへの転送」と呼ばれます。 バージョン3.4以降では、双方向のクリップボード更新がサポートされています。スクリプトは、Var またはEvalコマンドを使用して変数を設定し、サーバーのクリップボードの内容を変更することができます。このメカニズムは「クライアントからサーバーへの転送」と呼ばれます。 クリップボードとの間でテキストを転送できるかどうかは、接続タイプとサーバーベンダーに依存します。 接続タイプVNC connectionTightVNC は UltraVNC または RealVNC の双方向転送をサポートしています。TightVNC はクライアントからサーバへの転送をサポートしていません。追加のユーティリティ他のサーバも利用可能です。 またLocal Desktop接続は双方向のデータ転送をサポートしています。ローカルのクリップボードは 200ms ごとにポーリングメカニズムを使ってチェックされるため、変数に正しく入力されるように、Ctrl+C を押した後、スクリプトを少なくとも 200ms 待たせる必要があります。また、クリップボードの内容はType, TypelineまたはPressの呼び出し後にもクリップボードの内容が変更されることがあります。 その他の接続タイプはクリップボード転送をサポートしていません。クリップボード関連の機能についてはwaitfor clipboardコマンドを参照してください。 | |
クライアントがデスクトップ・サーバーからクリップボードの変更を受信したときのロボット | _SERVER_CLIPBOARD_CONTENT_TEXT=<text> | この変数は、2つの例外を除いて、上記の_SERVER_CLIPBOARD_CONTENTと同じ規則に従います。クリップボードがHTMLドキュメントまたはHTMLコードの塊を含んでいる場合、この変数には、HTMLから抽出されたプレーンテキストの内容が入ります。そうでない場合は、2つの変数の内容は等しくなります。この変数を設定してもサーバーのクリップボードは更新されません。 4.1.1からサポートされています。 | |
スクリプトの実行が開始されたとき、またはスクリプトがコンパイルされたときのロボット。 | _DATE=<yyyyMMdd> | 実行開始日を "yyyyMMdd "形式で指定します。 例えば、2005年5月8日は "20050508 "と定義されます。このフォーマットはpreferences.現在の日付を取得するにはcurtime変数を参照してください。 | |
_TIME=<HHmmss> | 実行の開始時刻を "HHmmss "の24時間フォーマットで指定します。 例えば、午後3時10分33秒は "151033 "と定義されます。このフォーマットはuser preferences.ミリ秒単位で現在時刻を取得するには、以下の変数を参照してください。_CURTIME 変数を参照してください。ミリ秒単位の現在時刻を取得するには、以下の変数を参照してください。_CURDATE を使います。 | ||
_FILE=<file> | 実行されたスクリプトの絶対パス、例えば"/root/test.txt"。 | ||
_FILENAME=<filename> | スクリプト・ファイル名。例:"test.txt"。 | ||
_REPORT_DIR=<path> | スクリーンショットとレポートの保存先ディレクトリ。絶対パスで指定しない限り、すべてのスクリーンショットとレポートはこのディレクトリに保存されます。スクリプト内でこの変数を明示的に設定すると、以下のように定義されるデフォルトのパスが上書きされます:
パスはpathsコンポーネントで設定できます。 | ||
_REPORT_FILE=<file> | レポートへの絶対パス(スクリプトによってレポートが作成される場合)。v4.0からサポートされています。 | ||
_REPORT_FILE_RELATIVE=<file> | REPORT_DIRで指定されたレポート・フォルダへのレポート・ファイルの相対パス。 v4.1.3からサポートされています。 | ||
_LOG_FILENAME=<filename> | 実行ログファイルのファイル名。デフォルトはlog.html。7.2.6からサポート。 | ||
_TEMPLATE_DIR=<path> | 画像比較用のテンプレート画像を含むソースディレクトリ。画像比較を使用するコマンドは、相対パスで指定された全てのテンプレートについてこのディレクトリを検索します。スクリプト内のこの変数の明示的な設定は、以下のように定義されるデフォルトのパスを上書きします:
パスはpathsコンポーネントで設定できます。 | ||
_SCRIPT_DIR=<path> | 現在実行されているスクリプトがあるディレクトリ(絶対パス)。 | ||
_WARNING_COUNT=<number> | スクリプト実行中にコマンドによって生成された警告の数。Warning コマンドによって生成された警告の数。 | ||
_CURDATE_FORMAT=<format> | 動的変数_CURDATE動的変数の日付/時刻フォーマットです。java.text.SimpleDateFormatの仕様に従った文字列でなければなりません。 例えば、この変数を "yyyy "に設定すると、後で_CURDATEを使用した場合、"2010"(4桁の現在の年)を生成します。この変数に空の文字列を設定すると、書式はデフォルト値に戻ります。 | ||
_RANDOM_MIN=<integer_number> | 動的変数に使用される乱数値生成器の最小値と最大値_RANDOM.デフォルト値は1と100000です。 | ||
_RGB_X=<x_coordinate> | デスクトップ画像からRGBを取得するための座標。動的変数を通してピクセルの色を取得するために、この2つの変数を希望の座標に設定することをお勧めします。_RGB 動的変数を通してピクセルの色を取得します。 | ||
_INSTALL_DIR=<installation_path> | インストール・ディレクトリ。robot.jarファイルの場所と同じです。ディレクトリは絶対パスで、ファイルセパレータで終わらない。v2.3からサポート。 | ||
_ENV_<variable_name>=<value> | 環境変数。これらはホスティングしているオペレーティング・システムによって提供されるOS固有の変数です。ウィンドウのスクリプト->言語パネルで、このようなオプションが選択されている場合、これらの変数は入力されないかもしれません。Preferencesウィンドウでこのようなオプションが選択されている場合は、これらの変数に値が入力されないことがある。v2.3以降でサポートされています。 | ||
_EXECUTION_SPEED_FACTOR=<float_number> | すべての'wait'および'timeout'スクリプト時間に乗じる係数。これにより、スクリプトの実行を速くしたり遅くしたりすることができる。この変数は環境設定->実行パネルで指定された値に初期化されます。デフォルト値は 1 で、'100%' を意味します。 例えば、スクリプトの実行を遅くし、すべての待ち時間を50%長くするには、値を'1.5'に設定します。3.2以降でサポートされています。 | ||
_FS=<local_OS_file_separator> _FPS=<local_OS_file_path_separator> | ローカルOSのファイル・セパレータ(Windowsではバックスラッシュ'˶'、 Linux/Unixではスラッシュ'/')とファイル・パス・セパレータ(Windowsではセミコロン';'、 Linux/Unixではコロン':')を指定します。 セパレータを使用することで、OSに依存しない相対パスやパスリストを構築することができ、どのシステムからでもスクリプトを実行できるようになります。 例えば、Windows の相対パス".. \data" を"..{_FS}data" と指定すると、スクリプトは Unix/Linux システム上でも正しく動作します。 | ||
_STEP_SUMMARY_FORMAT=<format> | 動的変数_STEP_SUMMARY 動的変数によって生成されるステップ・サマリーのフォーマットです。フォーマットは、1つのステップ結果をサマリーに追加する方法を定義する任意の文字列とすることができる。規則: - ここで、<param>は有効な小文字のパラメータ名である。Stepパラメータ名(name, expected, actual, instruct, notes)、またはキーワードの結果は、対応するステップ属性に置き換えられる。 - <param>文字列が大文字の場合(例えば{RESULT})、大文字の属性値に置き換えられます。 - の文字列は改行文字に置き換えられます。 デフォルトのフォーマット
JS
のような要約が生成されます:
| ||
変数が使用されるときはいつでもロボット。これらの変数の値は変数呼び出し時に作成されるため、「動的変数」と呼ばれます。 | _CURTIME=<time_in_milliseconds> | この変数が使われるたびに、1970年1月1日午前0時(UTC)からのミリ秒単位の現在のシステム時間に動的に置き換えられます。この変数を使用して、コマンドやコマンド・ブロックの実行にかかった時間を計算したり、リモート・システムのパフォーマンスを測定したりすることができます。 | |
_CURDATE=<formatted_time_and_date> | 読み取り可能な現在時刻や日付を生成します。書式はスクリプトの中でcurdate_format変数で指定することができます。この変数が設定されていない場合、書式のデフォルトはユーザー設定の値です(ユーザー設定の言語パネルを参照してください)。どちらの環境設定も設定されていない場合、書式のデフォルトは、 | ||
_CURRENT_FILE=<script_file> | 現在実行中のコードを含むスクリプトファイル。スクリプトは、ロギングや追跡の目的でこの変数を使用することができます。6.2.1からサポートされています。 | ||
_CURRENT_FILENAME=<script_file_name> | 現在のスクリプトファイル名。6.2.1からサポート。 | ||
_MOUSE_X=<X_coordinate> | 現在のマウスポインタのX,Y座標を返します。ツールがデスクトップに接続されていないか、接続後まだマウスイベントが登録されていない場合、座標は[0, 0]を返します。 | ||
_RANDOM=<random_integer> | この変数が使用されると、常にランダムな整数値を生成します。 デフォルトでは[1, 100000]に設定されていますが、変数で変更することができます。_RANDOM_MIN and _RANDOM_MAX変数で変更できます(上記参照)。 | ||
_RGB=<RGB_color> | この変数を使うと、変数で指定された座標が指すデスクトップ画像のピクセルの現在の色を取得します。_RGB_X and _RGB_Y 変数で指定された座標が指すデスクトップ画像のピクセルの現在の色を取得します。これは、画面上の場所が特定の色を含んでいるかどうかをテストするために使用することができます。ユーザーは、_RGB_X変数と_RGB_Y変数をターゲット座標に設定し、_RGB変数を呼び出して色を取得することをお勧めします。 ピクセルの値はHTML形式の文字列で返され、長さは6文字で、R、G、Bの各成分は小文字の16進数値(各成分につき2文字)で指定されます。 例えば、RGB(255, 255, 255)の白色は "fffff "と表示され、RGB(0, 255, 0)の緑色は "00ff00 "と表示されます。 典型的な例は、[234,128]のピクセルが緑であるかどうかをテストします:
JS
メカニズムは、単純な正確なカラーマッチングにのみ適しています。特定の色や色の濃淡のオブジェクトについて、より一般的な画面領域のテストについてはObject Searchが採用しているアルゴリズムを参照のこと。Compareto, Screenshotと'Waitfor'コマンドで採用されているアルゴリズムを参照のこと。 | ||
_STEP_SUMMARY=<step_summary> | これまでにスクリプト内で記録されたステップ結果のプレーン・テキスト・サマリー(1ステップにつき1行)。例:
JS
上記のコードの実行 後 _SUMMARY変数には以下の内容が格納される
要約の書式は、変数を通してスクリプトのスコープでカスタマイズすることができます。_STEP_SUMMARY_FORMAT 変数を使ってスクリプトスコープで、またはステップコマンド環境設定を使ってグローバルにカスタマイズできます。両方の方法が使用される場合、変数の方が優先されます。3.5.1からサポート。 | ||
_IOS_DEVICES=<list> | この変数は、Mac OS XのローカルUSBポートに接続されているモバイルデバイスの名前をセミコロンで区切ったリストに展開する。5.0.6以降でサポートされています。 この変数が呼び出されるたびに、追加の変数が生成されます: _IOS_DEVICE_COUNT=<数字>。 | ||
スクリプト実行開始時のロボット。によっても更新されます。 ConnectとDisconnectコマンドでも更新されます。 | _MACHINE=<servername> | Robotが接続されているデスクトップサーバマシン名です。 接続がない場合は空です。 | |
_PORT=<portnumber> | デスクトップサーバーのポート番号。接続されているデスクトップがTCP/IP接続を使用していない場合(ローカルディスプレイに直接接続されているドライバなど)、この変数は空です。 | ||
_PROTOCOL=<protocolname> | 例えば、"RFB"、"ADB"、"JAVA "など。 | ||
_URL=<desktop_url> | プロトコル、マシン(ホスト)名、およびオプションでポート番号を含むデスクトップURL。 | ||
_DESKTOP_WIDTH=<width_in_pixels> | 現在接続しているリモートデスクトップの幅 (ピクセル単位)。 | ||
_DESKTOP_HEIGHT=<width_in_pixels> | 現在接続されているリモートデスクトップの高さ (ピクセル単位)。 | ||
_DISPLAY_COUNT=<number_of_displays> | 接続によって管理されるディスプレイ(スクリーン)の数。4.3.1以降でサポートされています。このリリースでは、マルチディスプレイが可能な接続はLocal Desktopです。他のすべての接続では、カウントは 1 (one) と表示されます。 | ||
_DISPLAY_X_<n>=<number_in_pixels> | n番目のディスプレイの座標(x、y、幅、高さ)。番号は1から始まり、ローカルのOSに従います。 マルチディスプレイをサポートしない接続では、XとY座標はゼロに設定され、幅と高さはデスクトップのものに設定される。4.3.1以降でサポートされています。 | ||
RFB(VNC)クライアント接続時または切断時 | _DISPLAY=<servername>:[<display#>] | Unix/Linuxシステムでの表示リダイレクトに便利な表示変数。 これは"server:port"のフォーマットで、例えば "mymachine:2 "はポート5902でVNCサーバーを実行している'mymachine'というマシンを定義します。 VNC接続がない場合、変数は空です。 | |
Waitfor command与えられた条件に従った更新イベントが発生した場合 | _X=<number_in_pixels> | 条件を満たした最後の更新イベントの'x'座標。 | |
_Y=<number_in_pixels> | 条件を満たした最後の更新イベントの「y」座標。 | ||
_W=<number_in_pixels> | 条件を満たした最後の更新イベントの「幅」座標。 | ||
_H=<number_in_pixels> | 条件を満たした最後の更新イベントの「高さ」座標。 | ||
Waitfor commandすべての実行後 | _TIMEOUT=<true|false> | タイムアウトが定義され、それに達した場合 Waitfor コマンドはこの変数を'true'に設定し、そうでなければ'false'に設定します。 | |
Report commandレポートが生成されるたびに | _REPORT_FILE=<file> | レポート・ファイル(絶対パス)、例えば'/root/report.html'。 | |
_REPORT_FILENAME=<filename> | レポート・ファイル名(例:'report.html')。 | ||
_REPORT_FILE_RELATIVE=<file> | レポート(出力)ディレクトリからの相対レポート・ファイル・パス、例えば'MyTestScript.tpr.2a12fd2/report.xml'。 | ||
画面上のコンポーネントやテキストを検索するコマンド。 Compareto, Screenshot, Waitfor match/mismatch, Clickそして Drag | _COMPARETO_TEMPLATE=<file> | 最後の画像比較に使用された画像ファイル(絶対パス)。 | |
_COMPARETO_RESULT=<number> | 比較結果のパーセンテージ。常に0から100の間の数値です。画像がどれだけ一致したかを示します。 | ||
_COMPARETO_PASS_RATE=<number> | 最後の画像比較で使用された合格率のパーセンテージ。常に0から100の間の数値です。 | ||
_COMPARETO_TIME_IN_MS=<milliseconds> | 画像比較に費やされた時間(ミリ秒)。テンプレートのリストがある場合、値は実行された全ての比較の要約時間を表します。 | ||
_COMPARETO_TEMPLATE_INDEX=<number> | パス結果を生成したテンプレートリスト内のテンプレートのインデックス。インデックスは0から始まります。 | ||
_COMPARETO_TEMPLATE_WIDTH=<number> | マッチするテンプレート画像の寸法。v4.4以降、比較に失敗した場合、変数には最後に使用されたテンプレート画像が入力されます。 | ||
_COMPARETO_SOURCE_X=<number> | 最後に比較されたテンプレートのソース座標。これらの変数は、バージョン2.2以降で作成されたテンプレートにのみ設定されます。 詳細はImage Meta Dataの章を参照してください。 | ||
_COMPARETO_CLICK_X=<number> | 最後に比較したテンプレート画像のクリックポイント。デフォルトの座標は、"search "画像比較アルゴリズムによって位置づけられたコンポーネントの中心、またはカスタム相対位置を指します。 詳細はImage Meta Dataの章を参照してください。 | ||
_COMPARETO_CLICK_X_<n>=<number> | <n>番目のマッチの最後に比較されたテンプレート画像のクリックポイント。 デフォルトの座標は、"search "画像比較アルゴリズムによって位置づけられたコンポーネントの中心を指すか、テンプレート画像作成時にクリックポイントによって定義されたカスタムの相対位置を指します。 詳細は、この章を参照してください。Image Meta Dataの章を参照してください。 | ||
_COMPARETO_DISPLAY_NO=<display_number> | 最上位またはn番目の試合が行われたディスプレイの番号。 番号は1から始まり、ローカルOSに従う。4.3.1以降でサポートされている。このリリースでは、マルチディスプレイ接続が可能なのはLocal Desktopである。それ以外の接続では、番号は常に1(one)で表示されます。 | ||
ユーザー(カスタマイズ可能) | _COMPARETO_SORT_MODE=<number> | ディレクトリからロードされたテンプレート画像に適用されるソートモード。詳細はImage Collections の章を参照してください。 | |
_DESKTOP_SIZE=w:<width>;h:<height> | この変数を設定したVarコマンドが実行されるたびに、ミラーリングされた画面のサイズが変更され、特定の画面サイズに対して作成されたテンプレート画像の画像比較が正しく動作するようになります。詳細は iOS Mirror 接続ドキュメントをお読みください。 | ||
Comparetoコマンドを参照してください、 Screenshot比較と'Waitfor match'呼び出しが "search" 比較メソッドが使用されている場合 | _SEARCH_MATCH_COUNT=<number> | Image Searchで見つかったマッチの数。常に0以上である整数です。 | |
_SEARCH_X=<number> | 最初のマッチの'x'座標。テンプレート画像が見つからなかった場合、値は-1です。 | ||
_SEARCH_Y=<number> | 最初にマッチした画像の'y'座標。テンプレート画像が見つからなかった場合、値は-1です。 | ||
_SEARCH_X_<n>=<number> | n番目のマッチの'x'座標と'y'座標(nは1から_SEARCH_MATCH_COUNTの値の間)。 | ||
Comparetoコマンドで指定します、 Screenshot比較と'Waitfor match'呼び出しの場合"object"比較メソッドが使用される場合 | _OBJECT_COUNT=<number> | "object" 画像比較法で特定された物体の数。 | |
_OBJECT_X_<n>=<number> | n番目のオブジェクトの'x'と'y'座標、幅と高さ(nは1から_OBJECT_COUNTの値まで)。 | ||
Exec 実行後のコマンド | _EXEC_OUTPUT=<text> | 実行されたコマンドの標準出力、すなわちコンソールに出力されるメッセージ。 | |
_EXEC_ERROR=<text> | 実行されたコマンドのエラー出力、すなわちコンソールに出力されるエラーメッセージ。 | ||
_EXEC_COMMAND=<command> | 最後に実行されたOSコマンド、すなわちExec引数。 | ||
_EXEC_VALUE=<number> | 実行されたOSコマンドの終了コード。 | ||
画像比較コマンドCompareto, Screenshot, Waitfor match/mismatch, Click および Drag | _LAST_CMP_COMMAND=<command> | 最後に実行された画像比較コマンドのテキスト。v4.4.2からサポートされています。 | |
実行中のスクリプト | _TPR_LAST_COMMAND_1=<command> | すべての変数呼び出しが解決され置換された、最後に実行された3つのコマンドのテキスト。6.1からサポート。 | |
実行開始時のスクリプトは Log コマンド | _LOG_WARNING_COUNT=<number> | スクリプト実行中に生成されるWARNINGおよびSEVEREレベルのログの数。6.3.1からサポートされています。 |
この Variable Browser ウィンドウを使用して、現在の実行リポジトリに存在する変数のリストを表示することができます。
SYNOPSIS
var <var_name_1>=<value_1> [<var_name_2>=<value_2> ... <var_name_N>=<value_N>]
赤色は必須パラメータ
オプション
var_name
変数の名前。大文字と小文字を区別し、スペースを含んではいけません。
value
変数の値。値にスペースが含まれる場合は、ダブルクォートで囲む必要がある。変数値にダブルクォート文字を含める必要がある場合は、その前にバックス ラッシュを付けてください。例:"This is a backslash followed by a double quote - \""。バックスラッシュの後にダブルクォートを含める必要がある場合、'˶'を使用します。
戻り値
Varコマンドは常に0(ゼロ)を返します。
例
Var PATH=/tmp path=/tmp DESCRIPTION="Path to change to" EMPTY=
与えられた値で4つの変数PATH、path、DESCRIPTION、EMPTYを作成します。
Compareto "search.png" method="search"
for (i=1; {i}<{_SEARCH_MATCH_COUNT}+1; i={i}+1) {
# ネストされた変数は、接尾辞とインデックスの変数名で構成される
Mouse click to=x:{_SEARCH_X_{i}},y:{_SEARCH_Y_{i}}
}
ネストされた変数参照の例では、リモートデスクトップ画像を検索して、テンプレート画像search.png で表されるアイコンを探し、出現したアイコンをクリックします。