値の編集

OSV シナリオでは、モジュール属性が日付や顧客IDなど、テストに使用する関連メッセージ要素を表します。テストアクティビティ中にこれらのモジュール属性を操作するには、値や ActionModes を使用します。

Tricentis Tosca では、 OSV シナリオの XTestStepValuesを生成する際に、デフォルトの値やアクションモードを追加します。ただし、必要に応じてこれらの値を変更することもできます。

使用できる値の種類

使用できる値には以下の2種類があります。

  • ランタイムの前に既知の静的な値。

  • ランタイムで決定される動的な値です。

値に関するより一般的な情報については、 chapter "値を 指定する" をご覧ください。

値の使い方

以下の章では、 OSV シナリオでさまざまな値を使用するための実践的な例を紹介します。例では、それぞれの値でどのアクションモードを使用できるかも示しています。

日付と時間を入力する

OSV で日付と時刻の値を指定するには、動的式を使用します。これにより、例えば現在の日付をメッセージの識別子として使用することができます。

OSV はUTC(協定世界時)を使用していますが、Tosca Commander は、現地時間の設定を使用します。

構文:

{<EXPRESSION>[<Base date>][<Offset>][<Format>]}

ActionMode: 挿入入力確認WaitOn

日付および時間が使用できます。

  • 基準日に日付のみを含む場合は日付を使用します。

  • 基準日に時刻も含む場合は時間を使用します。

パラメータなしで式を指定することも可能です。以下の例では、現在の日付と時刻を使用しています。

Current date=3.Nov.2018, at 13:37:11 UTC:

{DATE} は 2018-11-03 を与えます。

{TIME} は 2018-11-03T13:37:11Z を与えます。

パラメータ付きで式を指定する場合は、基準日、オフセットおよびフォーマットを指定する必要があります。

いずれかのパラメータに標準の動作を適用するには、パラメータ値を空[ ] にしてください。

例えば、 {DATE}{DATE[][][]} は同じ意味です。システムは、Settings ダイアログで指定したターゲットフォーマットで現在の正確な日付を使用します。

次の例では、Toscaは標準的なフォーマット設定を使用して、現在の月の最初の日(monthfirst)を識別します。

01. {DATE[][][MM.yyyy]}

基準日

基準日は、 Tricentis Tosca の日付形式に従った日付値です。

値を空にすると、Toscaは現在の日付を基準日として使用します。バッファの値を基準日として使用することもできます。

バッファの日付=2010-11-10です。

{DATE[{B[Variable]}][+1M+1d] []} は 2010-12-11 を与えます。

バッファの日付=20.12.2013です。

{DATE[{B[Variable]}] [-1M] [01.MM.yyyy]} は 01.11.2013 を与えます。

バッファ日付=2012-12-24T12:34:56Z:

{TIME[{B[Variable]}][+2d+1h] []} は 2012-12-26T13:34:56Z を与えます。

オフセット

オフセットは基準日からのオフセットを指定します。オフセットは加算することも減算することも可能で、符号付き整数と単位で構成されます。

単位

説明

d

M

y

h

時間

m

s

+3M-1d では、基準日に3ヶ月を加え、1日を差し引きます。

フォーマット

フォーマットでは、テスト オブジェクト (see chapter "Toscaの日付形式") の日付式形式を決定できます。

基準日付とフォーマットを指定する場合、基準日付と一致しなければなりません。

基準日付を指定しない場合、システムはファイル <Tosca OSV program files>\Config.yml に定義されたフォーマットを使用します。

特殊文字をエスケープします。

}]{[などの特殊文字を使用する場合は、構文エラーを避けるために引用符を使用します。

構文:

"<special characters>"

文字列 "{{こんにちは]]"は、構文エラーを起こしません。

文字列 {{{ こんにちは]]]は、不正な括弧のために構文エラーを起こします。

乱数を生成する

乱数関数を使ってランダムな整数を生成します。

構文:

{RND[桁数]}

Number of digits は乱数の桁数を表します。

{RND[7]} は7桁の数字を作成します。

構文:

{RND[開始値][終了値]}

Start valueend value は乱数範囲の上限および下限を示します。

例えば、 {RND[-789[123]]} は、-789から123の範囲の整数を作成します。

ActionMode: 挿入

バッファおよびグリーンバッファを使用する

バッファはメッセージ要素の値を保存します。

バッファの名前がドル記号 $ で始まる場合、それは緑のバッファです (chapter "グリーンアルゴリズム"chapter "アクションモード検証 する"を参照) 。

バッファの定義

バッファ

構文:

buffer name

グリーンバッファ

構文:

$green buffer name

ActionMode: バッファ

バッファを使用する

バッファ

構文:

{B[バッファ名]}

グリーンバッファ

構文:

{B[$グリーンバッファ名]}

ActionMode: 挿入入力確認する

分割バッファを使用する

OSV シナリオのペイロードをセパレータに基づいて分割するには、分割バッファを定義します。

バッファを定義する

構文:

{Splitbuffer[_Separator_][_バッファ名のベース_]}

ActionMode: バッファ

バッファを使用する

構文:

{B[MyBuffer1]}

ActionMode: 挿入入力確認する

例えば、入力が 123;456;789;ABC の場合、 {Splitbuffer[;][MyBuffer]} を使用すると結果は以下のようになります。

MyBuffer1 = 123、MyBuffer2 = 456、MyBuffer3 = 789、MyBuffer4 = ABC

Xバッファの使用

Xバッファを使用すると、バッファActionModeで値を部分的にバッファすることができます。

Xバッファは、ペイロード、ヘッダー、リソース、クエリパラメータに使用できます。ただし、パスパラメータや添付ファイルにはXバッファを使用することはできません。

文字列内で以下の構文を使用します。

構文:

{XB [<Buffername>]}

この例では、転送注文の間に位置し、作成された OrderID のみをバッファする必要があります。

そのためには、 OrderID というバッファ名の Xバッファを作成します。

Xバッファ の使用

ランダムな文字列を生成する

ランダムテキスト機能を使って、 n 文字の大文字のアルファベットからなるランダムな文字列を生成することができます。

構文:

{RANDOMTEXT[n]}

アクションモード:挿入入力

ユニークIDを生成する

ユニークID機能は、ランタイムでユニークIDを生成します。

構文:

{UNIQUEID[n]}

ActionMode:挿入入力WaitOn

生成されるユニークIDは n 桁の整数です。

例:

n=1 の場合、ユニークIDは0から9の範囲で生成されます。

n=2 の場合、ユニークIDは10から99の範囲で生成されます。

したがって、特定のnについて利用可能なユニークIDの数は、10nです。

利用可能なID数が不足し、システムが新しいIDを生成できない場合、エラーが発生します。環境を再起動してユニークIDをリセットするか、より大きな nを使用してください。

バッファを使用して、ユニークIDを複数回利用することができます。

正規表現(Regex)を使用する

Regex 機能を使用して、文字列を検証することができます。

構文:

{REGEX[正規式]}

または

{REGEX["正規式"]}

ActionMode: 確認WaitOn

どれでも使用できます。chapter "使用します。NET互換の正規表現の使用" で説明されているように、 NET互換の通常の式です。

正規表現でランダムな文字列を生成する

正規表現で制限されたランダムな文字列を生成できます。正規表現は二重引用符で囲んで指定する必要があります。

構文:

{RANDOMREGEX["正規式"]}

ActionMode:挿入入力

{RANDOMREGEX["^[A-Z][a-z]+[0-9]$"]} は、AからZの間の大文字で始まり、任意の数の小文字が続き、0から9の間の正確に4桁の数字を含む値を生成します。{4}^ 文字は行頭を、 $ は行末を表します。

この式は、例えば Ecqwp1989 を生成します。

計算を実行する

Tricentis Tosca では、 MATH 式を使って計算を行うことができます。

構文:

{MATH[<Operand 1><Operator><Operand 2>..<Operator><Operand n>]}

ActionModes: 挿入入力確認する

数値や科学記数法をオペランドとして使用できます。

小数点以下の桁は小数点で区切らなければなりません。

この例では、バッファ A の値が 1 増加する方法を示しています。

{数学[{B[A]}+1]}

MATH式の例

以下の演算子がサポートされています。

演算子

説明

+, -, *, /

四則演算

%

剰余演算

^

冪乗

==

等しい

!=

等しくない

<

より小さい

>

より大きい

<=

以下

>=

以上

演算子はPEMDASルールに従って処理されます。ただし、括弧を使用することでこの動作を変更することができます。

タイムスタンプを指定する

タイムスタンプは、1970年1月1日木曜日 00:00:00 UTCからの経過ミリ秒数を返します。

構文:

{TIMESTAMP}

ActionMode: 挿入入力

カウンターを使用する

Counter コンフィグレーションパラメータを使用して、現在のカウンターを表示することができます。

構文:

{COUNTER}

ActionMode: 挿入入力

コンフィグレーションパラメータnについて、 {COUNTER} は、1、2、3、...、n番目のメッセージにおける1、2、3、...、n に等しくなります。

左右の部分文字列をバッファする

LEFT および RIGHT 式を使用して、部分文字列をバッファすることができます。

構文:

{LEFT[start][end][buffername]},{RIGHT[start][end][buffername]}

ActionMode: バッファ

LEFT 式: バッファの値を左から右に読みます。

RIGHT 式: バッファの値を右から左に読みます。

以下は、パラメータstartおよび end(ともに Int32型)に適用されます。

Int32についての詳細情報は、 http://msdn.microsoft.com/en-us/library/system.int32.aspx を参照してください。

Test string = ToscaOrchestrate

{LEFT[1][5][ BufferA ]}: Tosca をBufferA バッファに書き込みます。

{LEFT[6][9][ BufferB ]}: Orch をBufferB バッファに書き込みます。

{LEFT[15][20][ BufferZ ]}: te をBufferZ バッファに書き込みます。

{RIGHT[1][3][ BufferC ]}: ate をBufferC バッファに書き込みます。

{RIGHT[14][19][ BufferY ]}: Tos をBufferY バッファに書き込みます。

{RIGHT[30][35][ BufferX ]}: バッファBufferX に空の文字列書き込みます。

{LEFT[5][5][BufferD]}{LEFT[10][12][ BufferE]}{RIGHT[2][6][BufferF]}: BufferDa 、BufferEestBufferFstrat を書き込みます。

応答時間を増やす

応答メッセージをミリ秒単位で遅延させるには、 Response Time の値を増やします。

指定した値によって、応答メッセージの最小のディレイタイムが決定されます。ただし、ネットワークの遅延や OSV Host の処理時間などの要因により、応答がさらに遅延する可能性があります。

応答時間遅延をモジュール属性に設定し、0から10,000の範囲で数値を追加します。

応答時間の値を指定する

10,000ミリ秒以上の遅延を指定したい場合、 Tricentis は、送信メッセージをスケジュールすることを推奨します。

緑のセレクタの使用

緑のセレクタを緑のメッセージ検出アルゴリズム(see chapter "グリーンアルゴリズム")でセレクタとして使用することができます。

構文:

{optional}

ActionMode: WaitOn

XExcelを使用する

外部のMicrosoft Excelシートから値を読み込むには、 XExcel 機能を使用します。この機能は、ブルーメッセージ検出アルゴリズムと共に使用できます。

構文:

{XExcel[“Path to excel file";Sheetname][IdentifierColumn; ScenarioNameColumn;UserNameColumn]}

例えば: {XExcel["C:\Users\admin\Desktop\ISINListExample.xlsx";BICFI][Identifiers;ScenarioName;User]}

ActionMode: WaitOn

シナリオをトリガーする識別子をExcelシートに保存し、識別子とシナリオのすべての可能な組み合わせについて、ユーザー(テスター)を定義します。

例: Excelシート

OSV環境でシナリオを実行した場合、 OSV はExcelシートの対応する識別子を使用して、Excelシートを参照するメッセージ要素を入力します。また、ユーザーを特定のシナリオ実行のテスターとして指定します。

この例では、シナリオ PaymentTransaction_001 について、以下の識別子が考慮されています。

ACBKDEFF001、ACBKDEFF002、ACBKDEFF003、NCBKDEFF001

受信メッセージが識別子 NCBKDEFF001 を持つ場合、システムはユーザー Udo を使用します。識別子が ACBKDEFF002 の場合、ユーザー Robert を使用します。