【发布时间】:2015-02-27 15:24:47
【问题描述】:
使用 Web 性能测试 API 编写编码的 Web 测试时。您能否编写同时发送请求的测试,即并发请求,即负载测试的一个用户触发并发 Web 请求?
编辑:添加额外信息
我发现将请求添加到另一个请求的dependentRequest 属性意味着dependentRequests 是同时运行的。旁白:为什么围绕此功能的 microsoft 文档如此简明?
场景 1:假设我有两个 Web 请求
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
var request1 = new WebTestRequest("request1Uri");
var request2 = new WebTestRequest("request2Uri");
yield return request1;
yield return request2;
}
以上顺序运行,如果我想同时运行它们(request1 和 request2),我必须添加第三个请求并像下面那样运行它,它可以工作,但想知道是否有更清洁(不创建第三个请求)方式?因为添加不需要的请求会影响结果。
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
var request1 = new WebTestRequest("request1Uri");
var request2 = new WebTestRequest("request2Uri");
var request3 = new WebTestRequest("request3Uri");
request3.DependentRequests.AddRange(new[] { request2, request1 });
yield return request3;
}
场景 2:据我所知,我的意思是,依赖请求只是“一个深度”
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
var request1 = new WebTestRequest("request1Uri");
var request2 = new WebTestRequest("request2Uri");
var request3 = new WebTestRequest("request3Uri");
var request4 = new WebTestRequest("request4Uri");
var request5 = new WebTestRequest("request5Uri");
request3.DependentRequests.AddRange(new[] { request2, request1 });
request5.DependentRequests.AddRange(new[] { request4, request3 });
yield return request5;
}
与
相同public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
var request1 = new WebTestRequest("request1Uri");
var request2 = new WebTestRequest("request2Uri");
var request3 = new WebTestRequest("request3Uri");
var request4 = new WebTestRequest("request4Uri");
var request5 = new WebTestRequest("request5Uri");
request5.DependentRequests.AddRange(new[] { request2, request1, request4, request3 });
yield return request5;
}
如果我想要第一个示例(在场景 2 中)的预期行为,我该如何使用 webTest api 来实现?
【问题讨论】:
-
我相信这就是处理依赖请求的方式。在 Web 性能测试的 PreRequest 插件中,您可以添加/删除相关请求。
-
@AdrianHHH 你是对的,这就是依赖请求的工作方式,但是如果你只有两个必须同时运行的请求,那么你是否必须创建第三个“假”请求,点它在说google.com并将2个“真实”请求添加为依赖请求?编写这个场景的正确方法是什么?
标签: c# visual-studio-2012 testing load-testing coded-ui-tests