Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
WebTest Plugin that dynamically Sets the Maximum or Minimum think time value for each request. Options to throw exception if it encounters a think time larger than your max value so it can help to track down tests that have requests with large think times. Overrides the PreRequest event
[Description("WebTest Plugin that dynamically Sets the Maximum or Minimum think time value for each request. Overrides the PreRequest event")]
public class SetMaxMinThinkTime : WebTestPlugin
{
public SetMaxMinThinkTime()
{
MaxThinkTime = 60;
MinThinkTime = 0;
OutputComments = false;
Enabled = true;
ThrowExceptionIfThresholdExceeded = false;
}
public override void PreRequest(object sender, PreRequestEventArgs e)
{
//if plugin is disabled output a comment and return
if (Enabled == false)
{
if (OutputComments)
e.WebTest.AddCommentToResult(this.ToString() + " Plugin is Disabled, no processing occured.");
return;
}
//determine if threshold values exceeded and throw if exception enabled
if (((e.Request.ThinkTime > MaxThinkTime) || (e.Request.ThinkTime < MinThinkTime)) && (ThrowExceptionIfThresholdExceeded))
{
e.WebTest.AddCommentToResult(this.ToString() + " Think Time Threshold value exceeded. Think Time = " + e.Request.ThinkTime.ToString());
throw new Exception("A Think Time threshold value was exceeded.");
}
//update think time if greater than MaxThinkTime
if (e.Request.ThinkTime > MaxThinkTime)
e.Request.ThinkTime = MaxThinkTime;
//update think time if less than MinThinkTime
if (e.Request.ThinkTime < MinThinkTime)
e.Request.ThinkTime = MinThinkTime;
if (OutputComments)
e.WebTest.AddCommentToResult("SetMaxMinThinkTime value = " + e.Request.ThinkTime.ToString());
}
[Description("Maximum Think Time value for any request")]
[DefaultValue(60)]
public int MaxThinkTime { get; set; }
[Description("Minimum Think Time value for any request")]
[DefaultValue(0)]
public int MinThinkTime { get; set; }
[Description("Enable output comments added to the test results view. Default is false")]
[DefaultValue(false)]
public bool OutputComments { get; set; }
[Description("Enable or Disable the plugin execution. Default is Enabled (true)")]
[DefaultValue(true)]
public bool Enabled { get; set; }
[Description("Throw exception when encountering Min or Max values that exceed threshold value. Default is false")]
[DefaultValue(false)]
public bool ThrowExceptionIfThresholdExceeded { get; set; }
}