C# MS负载测试项目中的条件逻辑
好吧,我卡住了。我有一个Web API,我使用VS集成负载测试项目对其进行基准测试。不过有一个问题,我需要条件逻辑。例如: 如果Svc1返回param1,则下一个请求应转到Svc2 我使用ExtractionRule从web API调用中提取参数,如果存在,则将其添加到Context和LoadTestUserContext中。代码如下:C# MS负载测试项目中的条件逻辑,c#,asp.net,visual-studio,asp.net-web-api,load-testing,C#,Asp.net,Visual Studio,Asp.net Web Api,Load Testing,好吧,我卡住了。我有一个Web API,我使用VS集成负载测试项目对其进行基准测试。不过有一个问题,我需要条件逻辑。例如: 如果Svc1返回param1,则下一个请求应转到Svc2 我使用ExtractionRule从web API调用中提取参数,如果存在,则将其添加到Context和LoadTestUserContext中。代码如下: public override void Extract(object sender, ExtractionEventArgs e) {
public override void Extract(object sender, ExtractionEventArgs e)
{
var serializer = new JsonNetSerializer();
var str = e.Response.BodyString;
var result = serializer.Deserialize<SpinResult>(str);
if (result.BonusRemainingTrials > 0)
{
e.WebTest.Context.Add("bonus", result.BonusRemainingTrials);
var userContext = (LoadTestUserContext)e.WebTest.Context["$LoadTestUserContext"];
userContext["bonus"] = result.BonusRemainingTrials;
e.Success = true;
}
}
下面是测试条件逻辑:
一切正常,直到服务器返回参数,在此之后,负载测试应该调用第二个服务Svc2,这不会发生。无论是否分配了奖金参数,测试都会调用Svc1。有人帮我解释为什么这么顽固吗
非常感谢。您是否使用单元测试进行负载测试?或者在哪里检查您放入TestLoadContext的参数?如果使用单元测试,是否将负载测试上下文参数适当地传递给单元测试@这不是标准的单元测试。这是负载测试。该参数正在webtest中检查,请参见上图。因此,该参数由服务器返回。为什么不为webtest生成代码并对其进行调试?您知道如何在不转移到外部项目的情况下调试生成的代码吗。。?谢谢:刚刚找到,右键单击->运行编码的Web性能测试