gpt4 book ai didi

csv - CodedUI 测试不从 CSV 输入文件读取数据

转载 作者:行者123 更新时间:2023-12-04 23:00:54 26 4
gpt4 key购买 nike

我无法使用编码的 UI 测试方法映射 CSV 文件。这很可能是一个愚蠢的问题,但我似乎无法为我的问题找到解决方案,至少不是一个有效的解决方案。我已确保将 CSV 文件的属性设置为 始终复制 .
我还通过在测试方法上方写入以下行来导入 CSV 文件。

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\Data\\login.csv", "login#csv", DataAccessMethod.Sequential), DeploymentItem("login.csv"), TestMethod]

文件名是 login.csv它位于 Data文件夹。

测试将毫无问题地编译,但一旦测试执行,应从 CSV 文件接收输入的字段将被留空,并且执行被中断。我已经尝试使用字符串替换 CSV 文件中的数据,并且效果很好。我用来导入每个参数的代码是:
TestContext.DataRow["Username"].ToString()

此外,CSV 文件包含以下内容:
Username,Password,Fullname
admin@mail.com,password,Admin

有没有人可以指出我忘记了什么。

更新:我指出了这个问题,这个问题似乎只围绕 csv 文件中的第一列。当我尝试导入任何其他值时,它工作得很好。

最佳答案

某些文本文件以字节顺序标记 (BOM) 开头。编码 UI 中的 CSV 阅读器不处理 BOM 并将其视为第一个字段名称的一部分。下面的屏幕截图显示了带有 BOM 的 CSV 文件和 Notepad++ 中显示的相同文件的调试跟踪。 DataRow.ItemArray[...]值符合预期。 DataRow.Table.Columns.ResultsView[...]显示字段名称,但第一个字段名称包含 BOM。

这个带有 BOM 的 CSV 文件是在 Visual Studio 中使用解决方案资源管理器 => 添加 => 新项目 => C# => 常规 => 文本文件创建的。以前我用 Microsoft Excel 创建了一个电子表格并将其保存为 CSV 文件,该文件没有 BOM。我还使用 Notepad++ 创建了文件并保存为 CSV,但它们没有 BOM。 Visual Studio 似乎创建了带有 BOM 的文件,但在编辑 CSV 文件时它不会添加 BOM。

enter image description here

Visual Studio 可以创建具有正确编码的文件。在“ 步骤 2 - 创建数据集 ”中 this Microsoft页它说明了下面的文字。 (还要感谢 整体开发人员 在评论中提供了非常相似的细节。):

  1. It is important to save the .csv file using the correct encoding. On the FILE menu, choose Advanced Save Options and choose Unicode (UTF-8 without signature) – Codepage 65001 as the encoding.

关于csv - CodedUI 测试不从 CSV 输入文件读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24735579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com