インターポーズ処理は、測定項目を実行する前後で、変数の値を参照・変更できる機能です。 インターポーズ処理は、インターポーズ・アルゴリズムで処理手順を指定し、 インターポーズ条件で処理条件を指定することで作成します。
ここでは概要を述べます。
詳細は こちらのドキュメント を参照してください。
以下にインターポーズ処理の例を挙げます。
インターポーズ処理 | インターポーズ・アルゴリズム | インターポーズ条件 |
---|---|---|
測定前に2秒待つ | Wait Time before Measure Item | Wait Time: 2秒 |
I/O1のピンの測定値を指定した変数に設定する | Store Pin Result Value | Pin: I/O1 |
基本的なインターポーズ・アルゴリズムは、CloudTesting Labに標準で用意されています。 また、Javaを使用して、お客様自身でインターポーズ・アルゴリズムの開発が可能です。
用意されているインターポーズ・アルゴリズムを利用する
CloudTesting Labでは、以下のインターポーズ・アルゴリズムが用意されています。
名前 | 処理 | Pre Interpose | Post Interpose |
---|---|---|---|
Set Variable | 演算式の結果を指定した変数に設定する。 | 実行可 | 実行可 |
Wait Time before Measure Item | 指定時間だけ待つ。 | 実行可 | 実行不可 |
Wait Time after Measure Item | 指定時間だけ待つ。 | 実行不可 | 実行可 |
Store Pattern Result | ファンクション試験の実行結果を指定した変数に設定する。 | 実行不可 | 実行可 |
Store Pin Measure Value | 指定したピンの測定値を変数に設定します。 | 実行不可 | 実行可 |
Store Pin Result Value | 指定したピンの測定結果を変数に設定します。 | 実行不可 | 実行可 |
Store Comment Measure Value | 指定したコメントの測定値を変数に設定します。 | 実行不可 | 実行可 |
Store Comment Result Value | 指定したコメントの測定結果を変数に設定します。 | 実行不可 | 実行可 |
測定結果はInterger型の変数に設定できます。 設定される値と結果の関係を下表に示します。
値 | 結果 |
---|---|
0 | Pass |
4 | Invalid |
5 | LowFail |
6 | HighFail |
7 | L_H_Fail |
8 | Overflow |
9 | Timeout |
お客様自身でインターポーズ・アルゴリズムを開発する
お客様自身でインターポーズ・アルゴリズムを開発するには、Javaを使用します。 インターポーズ・アルゴリズムは、以下の手順で開発します(コマンド プロンプトを使用)。
順序 | 作業 | 内容 |
1 | JDK 8をインストールする |
javaの開発を行うために、AdoptOpenJDK 8 (HotSpot) のWindows x64版をインストールします。 コマンドラインでJDKのコマンドを使用するために、パスにJDKのbinフォルダを追加します。 set Path=%Path%;Path\to\JDK\bin |
2 | ソースコードを作成する |
ソースコード(.java)を作成します。実行する順序に応じて、次のいずれかのクラスを継承します。
|
3 | コンパイルする |
JDKに含まれるjavacコマンドで、ソースコード(.java)をコンパイルします。 javac -classpath "%ProgramFiles%\CloudTesting\interpose\release\CTLab_Interpose.jar" -d . -encoding utf-8 Example.java コンパイルに成功すると、Javaクラスファイル(.class)が生成されます。 |
4 | アーカイブする |
JDKに含まれるjarコマンドで、Javaクラスファイル(.class)をアーカイブします。 jar cvf Example.jar com\* アーカイブに成功すると、Javaアーカイブファイル(.jar)が生成されます。 |
5 | フォルダに配置する |
生成したJavaアーカイブファイル(.jar)を、以下のパスに配置します。 %ProgramFiles%\CloudTesting\interpose\custom |
6 | CloudTesting Labで利用する | CloudTesting LabをExpertモードで起動します。 追加したインターポーズ・アルゴリズムは、インターポーズ処理一覧で確認できます。 |
インターポーズ・アルゴリズムで変数を参照・操作する
インターポーズ・アルゴリズムから、変数を参照・操作するには、InterposeVariableクラスを利用します。
変数の読み出しメソッドは、以下の通りです。
戻り値 | メソッド名 | 引数 | 説明 |
---|---|---|---|
Integer | getIntegerValue | - | Integer型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
Long | getLongValue | - | Long型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
Double | getDoubleValue | - | Double型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
Boolean | getBooleanValue | - | Boolean型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
String | getStringValue | - | String型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
Integer | getIntegerValue | Integer... indexes(*1) | Integer型の値を取得します。引数で指定した要素番号の値が取得されます。 |
Long | getLongValue | Integer... indexes(*1) | Long型の値を取得します。引数で指定した要素番号の値が取得されます。 |
Double | getDoubleValue | Integer... indexes(*1) | Double型の値を取得します。引数で指定した要素番号の値が取得されます。 |
Boolean | getBooleanValue | Integer... indexes(*1) | Boolean型の値を取得します。引数で指定した要素番号の値が取得されます。 |
String | getStringValue | Integer... indexes(*1) | String型の値を取得します。引数で指定した要素番号の値が取得されます。 |
List | getIntegerValues | - | Integer型の値を取得します。 すべての要素をListで取得する事が出来ます |
List | getLongValues | - | Long型の値を取得します。 すべての要素をListで取得する事が出来ます |
List | getDoubleValues | - | Double型の値を取得します。 すべての要素をListで取得する事が出来ます |
List | getBooleanValues | - | Boolean型の値を取得します。 すべての要素をListで取得する事が出来ます |
List | getStringValues | - | String型の値を取得します。 すべての要素をListで取得する事が出来ます |
1 配列変数の要素を指定します。多次元配列ではその次元数分の引数が必要です。
変数への書き込みメソッドは、以下の通りです。
戻り値 | メソッド名 | 引数 | 説明 |
---|---|---|---|
void | setVariableExpression | String value | 引数で渡された表現値を評価した値を設定します。 |
void | setIntegerValue | Integer value | 引数で渡されたInteger型の値を設定します。 |
void | setLongValue | Long value | 引数で渡されたLong型の値を設定します。 |
void | setDoubleValue | Double value | 引数で渡されたDouble型の値を設定します。 |
void | setBooleanValue | Boolean value | 引数で渡されたBoolean型の値を設定します。 |
void | setStringValue | String value | 引数で渡されたString型の値を設定します。 |
void | setIntegerValue | Integer value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたInteger型の値を設定します。 |
void | setLongValue | Long value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたLong型の値を設定します。 |
void | setDoubleValue | Double value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたDouble型の値を設定します。 |
void | setBooleanValue | Boolean value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたBoolean型の値を設定します。 |
void | setStringValue | String value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたString型の値を設定します。 |
void | setIntegerValues | List values | 引数で渡されたInteger型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
void | setLongValues | List values | 引数で渡されたLong型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
void | setDoubleValues | List values | 引数で渡されたDouble型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
void | setBooleanValues | List values | 引数で渡されたBoolean型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
void | setStringValues | List values | 引数で渡されたString型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
インターポーズ・アルゴリズムのサンプルソースコード
インターポーズ・アルゴリズムの例として、サンプルソースコードを示します。 ソースコードは以下からダウンロードできます。
※ダウンロード時に会員認証が行われます。ユーザ登録がお済みでない方は、ご登録をお願いいたします。
このサンプルプログラムは、以下のソースコードを含んでいます。
内容 | ファイル名 |
---|---|
文字列“Hello”を出力する | Hello.java |
パラメータで与えられた文字列を出力する | PrintMessage.java |
測定後にダイアログ出してポーズ | Pause.java |
フォーマットを指定して数値を出力する | Display.java |
配列変数で指定した被乗数とパラメータで指定した乗数の積を配列変数に格納する | Multiplier.java |
配列変数で指定した母集団の平均値を変数に格納する | Mean.java |
変数の値を配列変数へ格納する | setVariableToArrayPre(Post).java |