好的,我被卡住了。我有一个Web API,我使用VS集成的Load Test项目进行基准测试。虽然有一个问题,我需要条件逻辑。例如:
如果Svc1返回param1,则下一个请求应该转到Svc2。
我使用ExtractionRule
从Web API调用中提取参数,如果存在,请在Context和LoadTestUserContext
中添加该参数。这是代码:
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),这不会发生。无论是否&#34;奖金&#34;参数分配与否,测试总是调用Svc1。有什么帮助,为什么它如此顽固?
非常感谢。