编码的UI测试Excel连接字符串目录错误

时间:2013-10-22 13:31:37

标签: excel directory connection-string coded-ui-tests

我正在尝试使用我的编码ui测试excel,但我的连接字符串不起作用。你能帮帮我吗?我很喜欢这个:) 好的,这里 - >我的数据目录是C:\(直接在C盘中) 我的连接字符串是

[DataSource("System.Data.Odbc", "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=C:\\Data1.xls;defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), TestMethod]

这完美无缺。但我希望我的文件在“D:\ TestProjects \ Coded2 \ DataFiles \ Data1.xls”中,我无法做到。得到一些错误和测试失败。

我应该如何编写数据目录?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

有效的版本是问题

[DataSource("System.Data.Odbc", "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=C:\\Data1.xls;defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), TestMethod]

失败的版本显示在评论中,它是

[DataSource("System.Data.Odbc", "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=D:\TestProjects\Coded2\DataFiles\Data1.xls;defaultdir=.;driverid=79‌​0;maxbuffersize=2048;pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), TestMethod]

显着的区别是反斜杠\在一个有效的情况下加倍,因为它们是字符串中的转义字符。 C#将每个反斜杠加上后面的字母作为转义序列。因此,文件名D:\TestProjects\Coded2\DataFiles\Data1.xls包含\T\C\D\D,并且编译器表示其中一个或多个未被识别。

您还可以编写带有前导@的C#字符串,这意味着反斜杠意味着自己。因此,如果写成

,则非工作版本应该有效
[DataSource("System.Data.Odbc", @"Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=D:\TestProjects\Coded2\DataFiles\Data1.xls;defaultdir=.;driverid=79‌​0;maxbuffersize=2048;pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), TestMethod]