繁体   English   中英

如何在带有Java的Selenium Webdriver中通过标题列名称而不是索引/键来引用Excel列?

[英]How can I refer to Excel columns by their header names rather than indexes/keys in Selenium Webdriver with Java?

我最近刚开始使用Selenium WebDriver和Java编写自动化测试的工作,但是我以前的经验是使用Telerik Test Studio和C#。 过渡在大多数情况下都进行得很好,但是我正在尝试寻找一种方法来建立Selenium WebDriver中的数据驱动测试,类似于使用Test Studio的“本地数据”选项卡进行设置(减去内置方法) UI)。

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

Test Studio使此操作极其简单,因为将电子表格复制到“本地数据”选项卡后,即可轻松按列标题名称引用各列,并在其中加上类似...

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

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

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

我认为您正在从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

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM