プロパティの値を指定する

シミュレーションにおいて、ステッププロパティは、ヘッダー、ペイロード、名前などの関連するメッセージ要素を表します。これらのステッププロパティを定義するには、ルールと値を使用します。これらの値は、静的または動的のいずれかです。

値はどのように使用できますか?

このトピックでは、シミュレーションでの値の使用方法を実例で説明します。どのステッププロパティをどの値に使用できるかについても、例を挙げて説明しています。

複数行の値を使用する

YAMLは、指標の代わりにインデントを使用して構造をマークします。これは、複数行の値を使用する場合に不可欠です。これらの値がプロパティの下でインデントされていることを確認してください。

動的な日付と時刻の値を使用する

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

  • 基準日には協定世界時(UTC)を使用し、ISO 8601形式で表示。

  • 日付と時刻の値は、「Insert」、「Verify」、または「Trigger」のいずれかのステッププロパティで定義。

現在の日付と時刻の値を使用する

The dynamic expressions DATE and TIME use the current date or the current time as base values.

テーブルの例では、January 13, 2022と2:18 PM(14:18:00)を基準値として使用しています。

説明

{DATE}

完全な日付

2022-01-13

{TIME}

現在の日付と時刻

2022-01-13T14:18:00Z

基準日から日付を計算する

基準日を偏差とともに定義することにより、動的な日付と時刻の値を計算することができます。

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

パラメータ

説明

Base date

日付の値を指定する。If you leave the value empty, APIシミュレーション uses the current date as the base date.バッファの値を基準日として使用することもできます。

Offset

基準日から何を加算または減算するかを定義する。オフセットは、符号付き整数と単位で構成されています。使用可能な値は以下のとおりです。

  • d:日

  • M:月

  • y:年

  • h:時間

  • m:分

  • s:秒

Format

テストオブジェクトの日付形式がISO 8601形式と異なる場合は、日付形式を定義してください。デフォルト値は「yyyy-MM-dd」です。

To apply the standard behavior to one of the parameters, leave the parameter value empty [].For instance, {DATE} and {DATE[][][]} have the same meaning.APIシミュレーション uses the current date without deviations.

特殊文字をエスケープする

シミュレーションにおいて特殊文字(}]{[")をテキストとして使用したい場合は、まず、エスケープさせる必要があります。個々の文字または文字列全体をエスケープすることができます。

これを行うには、個々の文字または文字列の前後に二重引用符(")を使用してください。

Syntax: "<special characters>"

特殊文字の「"」の場合、後続の「"」が実際の文字列の一部であってエスケープした文字列の末尾ではないことを示すには、追加の引用符が必要です。

バッファ値を使用する

仮想サービス内のメッセージ要素の値を複数回必要とする場合は、プロパティ「Buffer」を使用してそれらを一時的に保存します。仮想サービス内でこれらのバッファ値を読み出し、別のメッセージ要素に挿入することができます。

バッファ値を作成する

値をバッファするには、以下の2つが必要です。

  • バッファ値をもう一度見つけるためのバッファ。バッファ名は大文字と小文字を区別しません。

  • ステッププロパティ「buffer」を持つバッファ。

バッファされた値を読み出す

バッファされた値をメッセージ要素向けに指定するには、以下の構文を使用してください。

Syntax: {B[<buffer name>]}

  • バッファされた値をステッププロパティ「Insert」と一緒に使用する。

バッファされた値をメッセージのペイロードに読み出す

通常、バッファされた値は、読み取りたいメッセージのセクションを特定するための明確なパスを必要とします。これは、複雑なペイロード(特に多くの特殊文字を含む場合)で課題となることがあります。以下の構文を使用してバッファされた値を読み取り、それをメッセージのペイロードに直接挿入することができます。

Syntax: %{<buffer name>}

  • メッセージの「payload」プロパティ内でバッファされた値を使用する。

スプリットバッファを使用する

メッセージ要素の値を区切り記号に基づいて分割するには、スプリットバッファを定義します。

スプリットバッファの値を作成する

値を分割してバッファとして格納するには、以下の3つが必要です。

  • バッファの値をもう一度見つけるためのバッファ

  • 値の個々の部分を識別するための区切り記号。

  • ステッププロパティ「buffer」を持つバッファ

Syntax: {SPLITBUFFER[<Separator>]}

When buffering, APIシミュレーション creates a separate buffer with consecutive numbers for each partial value.

バッファされた値を読み出す

メッセージ要素に対してバッファされた値を指定するには、バッファ名を対応するバッファ値の番号と一緒に使用してください。

Syntax: {B[<Buffer name><number>]}

  • バッファされた値をステッププロパティ「Insert」と一緒に使用する。

XBuffersを使用する

XBufferを使用することで、バッファの静的な文字列内に動的な値を保存することができます。

XBufferの値を作成する

文字列内の値をバッファするには、以下の2つが必要です。

  • バッファの値をもう一度見つけるためのバッファ

  • ステッププロパティ「buffer」を持つバッファ

Syntax: <string>{XB[<Buffer name>]}<string>

バッファされた値を読み出す

バッファ値と同じようにXBufferの値を指定します。

ランダムテキストを生成する

メッセージ要素の値として、大文字のランダムテキストを作成することができます。テキストの長さをパラメータで指定してください。

Syntax: {RANDOMTEXT[<Length of random text>]}

  • ステッププロパティ「Insert」を持つランダムテキストを定義する。

ランダムな数を生成する

メッセージ要素の値としてランダムな数字を作成することができます。

  • 以下のパラメーターのいずれかを使用して、ランダムな数字を指定することができます。

    To define the length of a random number, enter {RND[<Length of random number>]}.最大で19桁まで入力できます。

    To define an upper and lower limit of a random number, enter {RND[<Lower limit>][<Upper limit>]}.下限値は上限値より小さくなければなりません。負の値は問題ありません。生成された整数は上限と下限の間の値で、境界の値も含みます。

  • ステッププロパティ「Insert」を持つランダムな数で定義する。

ユニークIDを生成する

メッセージ要素の値として、ユニークIDを作成することができます。ユニークIDは連続して生成され、各々のIDは一度だけ割り当てられます。ユニークIDの長さをパラメータで指定してください。

Syntax: {UNIQUEID[<length of uniqueID>]}

  • ステッププロパティ「Insert」を使用してユニークIDを定義する。

利用できる十分な数のIDがなく、システムが新しいIDを生成できない場合、エラーが発生します。環境を再起動してユニークIDをリセットするか、ユニークIDの長さを増やしてください。

正規表現を使用する

正規表現は、検索した値に正規表現に一致する文字列が含まれているかどうかを比較するために使用します。

APIシミュレーション uses the .NET Framework syntax for regular expressions.

Syntax: {REGEX["<regular expression>"]}

  • ステッププロパティの「Verify」または「Trigger」を使用して正規表現を定義する。

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

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

Syntax: {RANDOMREGEX["<Regular expression>"]}

  • ステッププロパティ「Insert」を使用して、正規表現でランダムな文字列を生成する。

計算を実行する

You can perform calculations with the MATH expression.

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

  • またはステップのプロパティの「Insert」または「Verify」を使用して計算を実行する。

  • 数値と科学的記数法をオペランドとして使用する。

  • オペレータをPEMDASルールに従って処理する。ただし、括弧を使用することでこの動作を変更することができます。

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

APIシミュレーション supports the following operators:

オペレータ

説明

+, -, *, /

四則演算

%

剰余演算

^

冪乗

==

等しい

!=

等しくない

<

より小さい

>

より大きい

<=

以下

>=

以上

機密データを使用する

シミュレーションで機密データを使用するには、それらを変数に格納してください。

この操作により、お客様はシミュレーションファイル内でこのデータを簡単に参照することができ、これらのファイルにアクセスできる他のユーザーが機密情報を閲覧するのを防ぐことができます。

変数を設定する

If you set environment variables in your system, it's important that you use the prefix Simulator__Variables__ with the variable name, for example Simulator__Variables__My Secret Password.

If you set the variables in the appsettings.yml file, make sure you have administrator rights and follow these steps:

  1. Open the appsettings.yml file.

  1. Enter your variables in the Simulator settings under Variables with the following syntax: <Variable name>: <Value>.

Appsettings.yml example entry.

変数からデータをフェッチする

To fetch data from variables use the dynamic expression VAR .

Syntax: '{VAR[<Variable name>]}'

  • 変数をステッププロパティの「Insert」または「Verify」と一緒に使用する。

リソースからデータを読み取る

リソースを活用して、実行中の異なるシミュレーション間で、実行時にデータを共有することが可能です。The FROM expression is a way to use data from a resource.

Syntax: {FROM[resource name][column][condition]}

パラメータ

説明

Resource name

使用するデータが入っているリソースの名前を指定する。

Column

検索する列を指定する。

Condition

SQLのWHERE句を定義して、使用する値を限定する。

  • ステッププロパティの「Insert」、「Verify」、または「Trigger」を持つ式を使用する。

置換値を使用する

You can use the TRY dynamic expression to enter a replacement value for a property if a specific dynamic value can't be found.例えば、バッファされた値を読み込みたいがそれが存在せず、例外も発生させたくないという場合は、置換値を使用します。

Syntax: {TRY[<dynamic expression>][<replacement>]}

  • Specify a TRY expression with the Insert step property.

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

The dynamic expression TIMESTAMP returns the number of milliseconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.

Syntax: {TIMESTAMP}

  • ステッププロパティ「Insert」を使用してタイムスタンプを指定する。

カウンターを使用する

Use the dynamic expression COUNTER for instance, to set how many times a specified message should be sent or received before proceeding to the next step.

Syntax: {COUNTER}

  • ステッププロパティ「Insert」を持つカウンターを使用する。