在MSTest中处理Excel复杂数据时需要帮助



目前,我正在从与"Key"值匹配的特定工作表中获取数据-但现在我想访问与"Key"值匹配的所有工作表中的数据

在我的excel中,我有两张表:LogInUserData和Sheet2

现在处于LogInUserData密钥电子邮件密码记住我LogInSuccessfully a@a.a a 0

在表2中
关键KlarnaLogInSuccessfully演示

现在,我想从两张表中访问Key"Loginsuccessfully"的值-我有代码,但它只从第一张表中获取,而不是从其他表中获取-那么我如何从excel 访问复杂的数据表

我正在使用ODBC连接

public static string TestDataFileConnection(string fileName)
{
string Filename = "C:\Users\PalakS\source\repos\Daily update\UnitTestProject2 - 10-04\UnitTestProject2\ExcelData\LogInPageData.xlsx";
string connectionString = string.Format("Dsn=Excel Files;READONLY=false;DBQ={0};", Filename);
System.Data.Odbc.OdbcCommand odbcCmd = new System.Data.Odbc.OdbcCommand("", new System.Data.Odbc.OdbcConnection(connectionString));
return connectionString;
}
public static T GetTestData<T>(string fileName, string sheet, string keyName)
{
using (var connection = new
OdbcConnection(TestDataFileConnection(fileName)))
{
connection.Open();
var query = string.Format("select * from [{0}$]where key = '{1}'", sheet, keyName);
var value = connection.Query<T>(query).FirstOrDefault();
connection.Close();
return value;
}
}

函数调用:

LogInUserModel user = AccessExcelData.GetTestData<LogInUserModel>("LogInPageData.xlsx", "LogInUserData", "LogInSuccessfully");
string email = user.Email.ToString();

有人能帮上忙吗?我如何用Excel 管理MSTest中的复杂数据

也许不是您正在寻找的解决方案,而是代码所需更改最少的解决方案。。。

由于所有工作表(主键(只有一个结果,请检查第一个查询是否为空,如果为空,则在工作表2上再次运行。

示例:

LogInUserModel user = AccessExcelData.GetTestData<LogInUserModel>("LogInPageData.xlsx", "LogInUserData", "LogInSuccessfully");
if (user is null)
{
user = AccessExcelData.GetTestData<LogInUserModel>("LogInPageData.xlsx", "Sheet2", "LogInSuccessfully");
}
string email = user.Email.ToString();

最新更新