標準的なイベントの構造
関連:API テスト のみ
このトピックでは,UFT One で API テストに対してサポートされる標準のイベント・ハンドラについて説明します。
API テストでサポートされているほとんどのアクティビティでは,これらの標準イベント・ハンドラが,サポートされている唯一のイベント・ハンドラです。
次の図は,各テスト・ステップでイベントが動作するしくみを示しています。
BeforeExecuteStepEvent
目的:現在のステップを実行するため,または前のステップの出力を処理するために必要になる条件とプロパティを設定します。
アクセス可能なプロパティ:
-
現在のアクティビティの入力プロパティ/入力パラメータ
-
現在のテストのユーザ変数/テスト変数
-
前のテスト・ステップまたは親アクティビティの出力プロパティ
/// <summary>
/// ConcatenateStringsActivity4 アクティビティの BeforeExecuteStepEvent イベントのハンドラ
/// </summary>
/// <param name=\"sender\">BeforeExecuteStepEvent イベントを生成したアクティビティ・オブジェクト</param>
/// <param name=\"args\">アクティビティに渡されるイベント引数</param>
/// this.ConcatenateStringsActivity4 を使用して,ConcatenateStringsActivity4 アクティビティのコンテキスト(入力/出力プロパティを含む)にアクセス
public void ConcatenateStringsActivity4_OnBeforeExecuteStepEvent(object sender, STActivityBaseEventArgs args)
{
ExcelFileImportInputArgs a = new ExcelFileImportInputArgs(@"C:\Users\user\Documents\UFT One\API Test Resources\ConcatenateStrings.xlsx", "Sheet1", true);
GetDataSource("ConcatenateStrings!Sheet1").ImportFromExcelFile(@"C:\Users\user\Documents\UFT One\API Test Resources\ConcatenateStrings.xlsx", "Sheet1", true);
ConcatenateStringsActivity4.Prefix = GetDataSource("ConcatenateStrings!Sheet1").GetValue(0, "Prefix").ToString();
ConcatenateStringsActivity4.Suffix = GetDataSource("ConcatenateStrings!Sheet1").GetValue(0, "Suffix").ToString();
this.Context.UserLogger.Info (ConcatenateStringsActivity4.Prefix);
this.Context.UserLogger.Info (ConcatenateStringsActivity4.Suffix);
}
AfterExecuteStepEvent
目的:現在のステップの出力プロパティを設定します。または,ステップの出力を処理します(エクスポートや保存のため)。
アクセス可能なプロパティ:
-
現在のアクティビティの出力プロパティ/出力パラメータ
-
現在のテストのユーザ変数/テスト変数
-
現在のテスト・ステップの出力
/// <summary>
/// FileWriteActivity7 アクティビティの AfterExecuteStepEvent イベントのハンドラ
/// </summary>
/// <param name=\"sender\">AfterExecuteStepEvent イベントを生成したアクティビティ・オブジェクト</param>
/// <param name=\"args\">アクティビティに渡されるイベント引数</param>
/// this.FileWriteActivity7 を使用して,FileWriteActivity7 アクティビティのコンテキスト(入力/出力プロパティを含む)にアクセス
public void FileWriteActivity7_OnAfterExecuteStepEvent(object sender, STActivityBaseEventArgs args)
{
///以下,イベント・コード
String WriteToFileContent = this.StServiceCallActivity5.OutputEnvelope.SelectNodes("/*[local-name(.)='Envelope'][1]/*[local-name(.)='Body'][1]/*[local-name(.)='CreateFlightOrder'][1]").ToString();
this.FileWriteActivity7.Content = WriteToFileContent;
CodeCheckpointEvent
目的:現在のステップで使用するチェックポイントのプロパティと値を設定します。
アクセス可能なプロパティ:
-
現在のステップの入力値/出力値
-
現在のテストのユーザ変数/テスト変数
-
現在のテスト・ステップの入力と出力
/// <summary>
/// CodeActivity15 アクティビティの CodeCheckPointEvent(コード・チェックポイントを実行する一般的な実行イベント)イベントのハンドラ
/// </summary>
/// <param name="sender">CodeCheckPointEvent イベントを生成したアクティビティ・オブジェクト</param>
/// <param name="args">アクティビティに渡されるイベント引数</param>
/// args を使用して,CodeActivity15 アクティビティのコンテキスト(入力/出力引数を含む)にアクセス
/// <example></example>
public void CodeActivity15_OnCodeCheckPointEvent(object sender, CheckpointEventArgs args)
{
///以下,イベント・コード
string attachPath = CodeActivity15.Input.attachmentPath;
string attachmentContent = File.ReadAllText(attachPath);
string currDate = DateTime.Now.ToString();
currDate = currDate.Substring( 0,currDate.IndexOf(":") ) ;
//args.Checkpoint.Assert.Equals( attachmentContent.Contains(" Current Time = "+currDateTime+" file was attached$") ,true);
//bool status= attachmentContent.Contains(" Current Time = "+currDate);
bool status = attachmentContent.Contains( CodeActivity16.Output.currentDateTime );
bool status1 = attachmentContent.Contains("file was attached$");
if (status && status1)
{
args.Checkpoint.Report( attachmentContent," Current Time = "+currDate+" file was attached$","contain", StatusEnum.Succeed );
}
else
args.Checkpoint.Report( attachmentContent," Current Time = "+currDate+" file was attached$","contain", StatusEnum.Fail );
}
その他の参照項目: