gpt4 book ai didi

java - 使用 Cucumber 场景大纲处理 excel 电子表格

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:14:08 24 4
gpt4 key购买 nike

如果可能的话,我正在尝试寻找一种更优雅的方式来处理从与 Excel 电子表格行(第 n 行)相关的 Cucumber 场景大纲中调用第 n 个数字。

目前,我正在使用迭代编号来定义要从中提取数据的 Excel 电子表格的行号。我想看看是否有可能以比下面的场景大纲示例更优雅的方式将 cucumber 与 excel 一起使用。

一些背景:

  • 每次迭代都需要有自己的场景。因此,为什么我不使用带有 row.count 的简单 for 循环。
  • 我完全知道场景大纲是一种制作数据表的方法,但我的公司希望看到一个 POF,我们可以通过 excel 集成大型数据集。
  • 当前设置适用于小型数据集,但当我们进入大型 Excel 电子表格时,我不想在大纲上输入第 n 个数字

cucumber 代码:

Feature: User is using an excel spreadsheet with cucumber driving it

Scenario Outline: Data Driven with excel and data sets

When I am on the amps mainscreen
Then I input username and passwords with excel row"<row_index>" dataset

Examples:
| row_index |
| 1 |
| 2 |
| 3 |
| 4 |

步骤文件:

//Excel Steps
@When("^I am on the amps mainscreen$")
public void i_am_on_the_amps_mainscreen() {
System.out.println("Im loading");
}
//Excel Steps
@Then("^I input username and passwords with excel row\"([^\"]*)\" dataset$")
public void i_input_username_and_passwords_with_excel_row_dataset(int rownum) throws IOException {
login.readExcel(rownum);
}

实际代码:

 public void readExcel (int row) throws IOException{

File src=new File("src/test/resources/username.xlsx");
FileInputStream fis=new FileInputStream(src);
XSSFWorkbook srcBook= new XSSFWorkbook(fis);
XSSFSheet sourceSheet = srcBook.getSheetAt(0);

XSSFRow sourceRow = sourceSheet.getRow(row);
XSSFCell username=sourceRow.getCell(0);
XSSFCell password=sourceRow.getCell(1);
String userExcel = username.getStringCellValue();
String pwExcel = password.getStringCellValue();
System.out.println("The username is" +userExcel);
System.out.println("The password is" +pwExcel);
log.info("The username on " +row + " is: "+userExcel);
log.info("The password on "+row+ " is: "+pwExcel);
driver.findElement(txtbox_username).sendKeys(userExcel);
driver.findElement(txtbox_password).sendKeys(pwExcel);
driver.findElement(btn_logon).click();

}

最佳答案

您可以使用 QMetry Automation Frameworkgherkin factory .它支持外部特征文件提供的测试数据,例如excel、xml、json、csv或数据库。您可以为以下示例提供数据文件:

Examples:{'datafile':'resources/testdata.xls'}

这是 example你可以检查。

关于java - 使用 Cucumber 场景大纲处理 excel 电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38852952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com