Selenium-使用读取excel文件的数据提供程序将多个参数传递给@Test method
我的@Test方法从excel工作簿中获取输入。输入值在多个工作表中进行分类。输入值的总数超过50。如何将带有多张表的excel数据传递给@Test方法,因为我无法将@Test方法中的所有参数定义为参数。请提供帮助。您可以使用System.Data.OleDb,并以如下方式使用它Selenium-使用读取excel文件的数据提供程序将多个参数传递给@Test method,excel,selenium,testng,Excel,Selenium,Testng,我的@Test方法从excel工作簿中获取输入。输入值在多个工作表中进行分类。输入值的总数超过50。如何将带有多张表的excel数据传递给@Test方法,因为我无法将@Test方法中的所有参数定义为参数。请提供帮助。您可以使用System.Data.OleDb,并以如下方式使用它 public static DataSet actual_read(string filename) { var conn = string.Format(@"Provider=
public static DataSet actual_read(string filename)
{
var conn = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=Excel 12.0;", filename);
DataSet allSheetVal = new DataSet();
string[] sheets = GetExcelsheetNames(conn);
//bool isspace = false;
using (OleDbConnection con = new OleDbConnection(conn))
{
con.Open();
foreach (string sheet in sheets)
{
string[] spsheet = sheet.Split(' ');
int toSub = (spsheet.Count() > 1) ? 2 : 1;
string sheetName = sheet;
if (sheetName[sheetName.Length - toSub] != '$')
{
if (toSub == 2)
{
sheetName = sheetName.Substring(0, (sheetName.Length - 1));
sheetName += "$'";
}
else
sheetName += '$';
}
var adapter = new OleDbDataAdapter("select * from [" + sheetName + "]", con);
var ds = new DataSet();
adapter.Fill(ds, sheetName);
allSheetVal.Tables.Add(ds.Tables[sheetName].Copy());
}
con.Close();
}
return allSheetVal;
}
因此,它将返回一个数据集,然后您可以读取它…注意,在此执行过程中,每个工作表都被视为一个表您可以使用类似于读取Excel文件的工具。它必须是Exel文件,或者csv可以吗?