调用 readexceldata(String field name) 的最佳方式将调用函数 getData(workbookName, sheetName, rowNumber, fieldName);

问题描述 投票:0回答:0

我的问题陈述是我想通过在运行时仅指定字段名称来从 excel 工作表中读取数据,然后这个函数应该传递工作簿名称、工作表名称等从特征文件中读取数据。我已经有点实现了,如下所示,但我有一个问题,如果我有多个步骤定义文件,那么我如何仅通过指定字段名称来读取数据呢? 我有以下功能文件 '功能:从 Excel 中读取数据

场景大纲:打印订单详情

Given Excel Sheet with Name as "secTypes" and subSheet name as "equity" and rowNumber as <RowNumber> is read

When Read Symbol as "<SYMBOL>" and orderType as "<ORDERTYPE>" and print the values

Examples: 
 |RowNumber  | SYMBOL | ORDERTYPE |
 | 0         | SYMBOL | ORDERTYPE |
 | 1         | SYMBOL | ORDERTYPE |'

下面是给定的代码和时间 ' 公共类 TestSteps 扩展 SpecBuilders {

public HashMap<String, String> hashMap = new HashMap<String, String>();
public String workbookName, sheetName;
public int rowNumber;
public String updatedJsonPayload, postResponse;
CreatePayload createPayLoad = new CreatePayload();
SpecBuilders specBuilder = new SpecBuilders();

@Given("Excel Sheet with Name as {string} and subSheet name as {string} and rowNumber as {int} is read")
public void excelSheet_variables_read(String workbookname, String sheetname, Integer rownumber)
        throws IOException, InvalidFormatException {
    hashMap = Testutils.addSheetDataToHashMap(workbookname, sheetname, rownumber);
    workbookName = hashMap.get("workbookName");
    sheetName = hashMap.get("sheetname");
    rowNumber = Integer.parseInt(hashMap.get("rownumber"));
    
}

@When("读取 Symbol 作为 {string} 和 orderType 作为 {string} 并打印值") public void read_symbol_orderType_and_print_it(String symbol, String orderType) throws InvalidFormatException, IOException { System.out.println("订单类型为" + orderType); System.out.println("符号是" + 符号);

    System.out.println("After Reading Excel-----------------------");
    
    orderType = getExcelData.getData(workbookName, sheetName, rowNumber, orderType);
    symbol = getDataFromExcel(symbol);
    
    System.out.println("order type is " + orderType);
    System.out.println("symbol is " + symbol);
}'

要读取符号的值,请在 TestSteps.java 本身中定义以下函数

'public String getDataFromExcel(String fieldName) 抛出 InvalidFormatException, IOException { 返回 getExcelData.getData(workbookName, sheetName, rowNumber, fieldName); }'

如何定义 getDataFromExcel 以及在哪里定义它以便我可以从我的框架中的任何地方读取数据?

我已经在测试步骤类本身中定义了函数

java cucumber web-api-testing
© www.soinside.com 2019 - 2024. All rights reserved.