0

我最近刚开始使用 Selenium WebDriver 和 Java 编写自动化测试,但我之前的经验是使用 Telerik Test Studio 和 C#。在大多数情况下,过渡进展顺利,但我正在尝试找到一种在 Selenium WebDriver 中设置数据驱动测试的方法,类似于使用 Test Studio 的 Local Data 选项卡(减去内置用户界面,显然)。

我已经使用 Apache POI 设置了我的框架,以便我可以将 Excel 文件用于我的数据,其中每一行代表由列表示的不同变量组成的场景。问题是,由于随着时间的推移,列往往会被添加或重新排序,所以我需要一种方法来通过其顶行标题中的名称字符串而不是通过其键或索引来引用任何列。

Test Studio 使这变得非常容易,因为一旦您将电子表格复制到“本地数据”选项卡,您就可以通过标题名称轻松引用列,其中包含类似...

if (...LocalData.PaymentMethod = "CreditCard")...

...其中PaymentMethod是列的名称,并且"CreditCard"是该列的单元格中的潜在值。

有谁知道在 Selenium WebDriver 中使用 Java 通过标题名称字符串引用列的方法?任何帮助将不胜感激。谢谢!

4

1 回答 1

1

我认为您正在使用从 excel 表中读取的数据弄乱 Selenium。Selenium 做不到 - Apache POI 可以。因此,我将回答有关 POI 使用的问题。

CellReference您可以使用实用程序类和列索引检索列标题:

String columnName = CellReference.convertNumToColString(columnIdex);

当您找到必要的列时,您可以读取其单元格:

for(Row r : sheet) {
   Cell c = r.getCell(columnIdex);
   // do what you need

}
于 2017-05-19T06:34:34.360 回答