【发布时间】:2012-08-01 16:49:31
【问题描述】:
我需要帮助从 excel 表中读取所有行作为我的 selenium 测试用例中的测试数据。
使用以下代码,我只能读取 Excel 工作表的一行。
//设置硒测试
public void SetupTest()
{
selenium = new DefaultSelenium("localhost", 4444, "*googlechrome", "http://www.google.com/");
selenium.Start();
verificationErrors = new StringBuilder();
}
//将我连接到我的 Excel 表 SampleTestData.xls
public void ConnectExcel()
{
excel.Application excelApp = new excel.Application();
excelApp.Visible = true;
string ExcelDataPath = @"C:\SampleTestData.xls";
excel.Workbook excelWorkBook = excelApp.Workbooks.Open(ExcelDataPath, 0, false, 5, "", "", false, excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
excel.Sheets excelSheets = excelWorkBook.Worksheets;
excel.Worksheet DataworkSheet = (excel.Worksheet)excelSheets.get_Item("Sheet1");
System.String Search1 = ((excel.Range)DataworkSheet.get_Range("A1", Type.Missing)).Value2 as string;
}
//运行测试的硒代码
public void StartTest()
{
selenium.open("");
selenium.WaitForPageToLoad("100000");
selenium.Type("gbqfif", search1);
selenium.Click("btnG");
selenium.WaitForPageToLoad("100000");
}
此代码让我只选择包含 search1 值的一行。但是,我需要对其进行迭代,使其继续运行 StartTest() 方法,直到输入 excel 表中的所有行 (50)。
任何帮助将不胜感激。
【问题讨论】:
-
研究使用 ForEach 或 For Loop.. 也可以进行谷歌搜索..
-
查看此链接并根据此示例了解如何使用 Interop,这将是一次很棒的学习体验。stackoverflow.com/questions/11593628/…
-
感谢 DJ KRAZE,我查看了线程,但它太复杂而无法理解。我想要的只是遍历我无法执行的 excel 行。
-
我刚刚在下面发布了 2 个示例。它并不像您想象的那么复杂.. 这是基于您对尝试的恐惧我能想到的最简单的示例.. 尝试示例并更改它为了适合您上面的代码示例,请告诉我这是否适合您.. 谢谢
-
我将发布一个更简单的示例,您应该能够遵循......请尽量不要感到沮丧......确保在表格顶部添加必要的参考资料
标签: c# excel c#-4.0 selenium-rc selenium-webdriver