无法在64位Office安装的计算机上使用DataSource进行数据驱动测试

时间:2019-01-30 07:29:24

标签: visual-studio datasource coded-ui-tests data-driven-tests

我在Visual Studio中使用数据源时遇到问题。如果我没有安装AccessDatabaseEngine安装(2007),则会出现IM014错误,但这会引起另一个问题。我的计算机上安装了64位,因此我无法安装32位的AccessDatabaseEngine 2016。

根据下一页,当尝试在Windows 7之类的64位操作系统上创建ODBC连接(例如与Access或Excel的连接)时,驱动程序不可见

https://support.microsoft.com/en-hk/help/2721825/unable-to-create-dsn-for-microsoft-office-system-driver-on-64-bit-vers

我检查了odbcad32的32位和64位,并看到添加了Excel文件。

我想采用数据驱动的测试方法,并且希望为每个excel行获取mycodedui测试工作。我将以下代码用于数据源

 [DataSource("System.Data.Odbc", "Dsn=Excel Files;dbq=C:\\Codedui\\testdata\\test.xls;defaultdir=C:\\Codedui\\testdata\\test.xls;driverid=1046;maxbuffersize=2048;pagetimeout=5", "Sheet$", DataAccessMethod.Sequential), DeploymentItem("test.xls"), TestMethod]

问题是在安装后Visual Studio codedui无法​​正常工作(无法识别任何内容)

现在我有两个选择

  1. 安装AccessDatabaseEngine并使用DataSource,但codedui不 工作(不可接受的解决方案)
  2. 卸载AccessDatabaseEngine和DONT使用数据源,但是     codedui确实有效(没有数据驱动方法) ps.also Edge浏览器不应该打开

但我两个都需要。

我还有其他用于2010和2016的AccessDatabaseEngine文件x64。这些安装不会影响我的codedui测试,但是DataSource无法使用它们,我会出错

   Error [IM014] [ Microsoft][ODBC Driver Manager]

有人可以给我提供不同的dataSource行吗? (但它需要逐行在excel上工作)

我还尝试使用带有以下代码的nuget安装System.Data.Odbc,但出现了错误

dotnet add package System.Data.Odbc --version 4.5.0-preview1-25915-02 --source https://dotnet.myget.org/F/dotnet-core/api/v3/index.json

dotnet添加命令的错误消息

 dotnet : Could not find any project in `C:\Test\CodedUITestProject2\`

我看到AcceessDatabaseEngine安装了一些注册表。我尝试过,但也会在下面的路径中生成一个dll,但无法将其添加为参考。

C:\ Program Files \ Microsoft Office \ Office15 \ STSLIST.DLL

0 个答案:

没有答案