VS 云负载测试 - 找不到目录/文件

Posted

技术标签:

【中文标题】VS 云负载测试 - 找不到目录/文件【英文标题】:VS Cloud Load Test - Could not locate directory/file 【发布时间】:2018-02-23 19:35:47 【问题描述】:

我正在尝试在工作中对我们的应用程序进行负载测试,并且我创建了一个可以在本地完美运行的 Web 测试(编码的 Web 测试)。

它使用一个帮助类来创建应用程序所需的数据,例如姓名、电子邮件等(每个应用程序必须是唯一的)。

Name 由驻留在帮助类中的方法返回,作为 Name 类的对象,该对象非常基本,包含 2 个道具 First 和 Last。

public static Name GetRandomName()

    // if (!File.Exists(@"..\..\..\Apps-Load-Performance-Tests\Data Files\fNames_1.csv")) return new Name();

    var allLines = File.ReadAllLines(@"..\..\..\Apps-Load-Performance-Tests\Data Files\fNames_1.csv");
    var maxLength = allLines.Length;
    var random = new Random();
    return new Name
    
        First = allLines[random.Next(maxLength)],
        Last = allLines[random.Next(maxLength)]
    ;

问题是当我通过 Visual Studio 云运行负载测试时 - 它抛出 FileNotFoundException (fNames_1.csv)

在我的测试设置中 - 我选中了“启用部署”并添加了 .csv 文件和包含 .csv 文件的目录...但这似乎无法解决问题。

我也尝试添加 [DeploymentItem()] 属性,但不行...

我做错了什么?任何帮助,或者如果有人可以指出我正确的方向 - 我将不胜感激。

提前致谢!

【问题讨论】:

【参考方案1】:

通过问题中列出的选项进行部署会将文件复制到TestResults\name+datetime+etc\Out 目录中以供测试运行。问题中的相对路径似乎期望Apps-Load-Performance-Tests 目录与TestResults 位于同一目录中,甚至更接近根目录。

对于云负载测试,需要将文件部署到运行测试的云计算机,并部署到与已部署测试的其他部分相同的目录中。我建议更改GetRandomName 方法和相关代码中的目录路径,以期望文件位于TestResults\...\Out 目录中以供运行。还要确保将文件部署到那里。

【讨论】:

谢谢!就是这样 - 当测试在云上运行时,它无法在定义的路径中找到文件。所以我最终做的是 @"/filename.csv" 用于本地执行和 @"filename.csv" 用于云(注意斜线 - 没有斜线它不会在本地执行 - 很奇怪)再次感谢您的帮助和你的时间!干杯 我也面临同样的问题。我究竟应该将文件保存在我的项目中的哪个位置,以便在运行测试时可以找到该文件? @ShridharRKulkarni 将其放在解决方案中的某个目录中,并确保已部署该文件。

以上是关于VS 云负载测试 - 找不到目录/文件的主要内容,如果未能解决你的问题,请参考以下文章

VSTS 2008 负载测试,好用吗?

Cypress.io:服务器错误 | 404 - 找不到文件或目录

查看负载测试期间请求了哪些参数

VS2010 负载测试:如何执行在每次负载测试之前运行一次的自定义操作

VS2019 中缺少“添加-> 负载测试”

性能测试vs负载测试vs压力测试