Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为VisualStudio云测试的每个核心代理使用不同的.csv?_C#_Visual Studio_Cloud_Performance Testing_Load Testing - Fatal编程技术网

C# 如何为VisualStudio云测试的每个核心代理使用不同的.csv?

C# 如何为VisualStudio云测试的每个核心代理使用不同的.csv?,c#,visual-studio,cloud,performance-testing,load-testing,C#,Visual Studio,Cloud,Performance Testing,Load Testing,我正在尝试使用Visual Studio云测试执行简单的REST API负载测试: 请求包含授权令牌,我使用预生成的.csv数据源来提供它们。以下是描述: 当从本地机器运行测试时,一切正常,但当我从云启动测试时,97%的测试失败 因为我的服务有并发检查-一个令牌只能用于发出一个请求。测试似乎是从云中的20台代理机器上运行的,它们都使用相同的.csv数据源 我想知道是否有一种方法可以为每个云代理传播不同的数据源?根据您的评论,unique的数据源访问方法不能用于VSTS云负载测试 一种可能性:您生

我正在尝试使用Visual Studio云测试执行简单的REST API负载测试:

请求包含授权令牌,我使用预生成的.csv数据源来提供它们。以下是描述:

当从本地机器运行测试时,一切正常,但当我从云启动测试时,97%的测试失败

因为我的服务有并发检查-一个令牌只能用于发出一个请求。测试似乎是从云中的20台代理机器上运行的,它们都使用相同的.csv数据源


我想知道是否有一种方法可以为每个云代理传播不同的数据源?

根据您的评论,
unique
的数据源访问方法不能用于VSTS云负载测试

一种可能性:您生成的代币是否可以包含代理编号(AgentID)?如果是,则可以使用包含以下代码的插件:

string tokenFromCSV = e.WebTest.Context["DataSource1.file#csv.token"].ToString();
string agentId = e.WebTest.Context["AgentId"].ToString();
if(agentId.Length==1) agentId = "0" + agentId;
string tokenToUse = tokenFromCSV + agentId;
e.WebTest.Context["tokenToUse"] = tokenToUse;
然后在当前使用CSV文件中的令牌的位置,使用新编写的上下文参数
tokenToUse
。还有许多其他方法可以将代理id合并到令牌值中

另一种可能性。如果使用的代理从未超过20个(或其他数量不太多的代理),则生成包含20列令牌值的CSV。让列名包含代理编号,然后让每个代理只使用其列中的值。这可能需要一个插件来访问正确的列并将值存储到上下文参数中


另一种可能性。如果CSV中的行数可以比测试中的虚拟用户数大几倍。我认为至少是10倍,但比例越大越好。将CSV访问方法设置为
Random
。然后,测试应该在每次只由一个测试使用令牌的情况下运行。会有一些双重用途,因此测试失败,但您的客户可能会接受该级别的失败。

可能重复Hm,在进行一些谷歌搜索后,我发现有可能将web测试数据源中的访问方法切换为“唯一”。如下所述:不幸的是,当运行测试时,我得到:VS1550057:Visual Studio Team Services的负载测试不支持对数据源的“唯一”数据访问。