gpt4 book ai didi

java - 如何用java解决selenium webdriver中的 "Method readfile requires 3 parameters but 0 were supplied in the @Test annotation."

转载 作者:行者123 更新时间:2023-12-01 09:35:37 25 4
gpt4 key购买 nike

我的Java代码

@Test
@Parameters({"filepath","filename","sheetname"})
public class ReadFilesinExcel {
@SuppressWarnings("rawtypes")
public void readfile(String Filepath,String Filename,String Sheetname) throws IOException
{
File file = new File(Filepath+"\\"+Filename);
System.out.println("File is at : " +file);

FileInputStream inputstream = new FileInputStream(file);
Workbook wb = null;
//Find the file extension by spliting file name in substring and getting only extension name

String fileextentionname= Filename.substring(Filename.indexOf("."));

if(fileextentionname.equals(".xlsx"))
{
wb = new XSSFWorkbook(inputstream);
}

else if(fileextentionname.equals(".xls"))
{
wb = new HSSFWorkbook(inputstream);
}

org.apache.poi.ss.usermodel.Sheet sh = wb.getSheet(Sheetname);
int rowcount=sh.getLastRowNum()-sh.getFirstRowNum();
for(int i=0; i<rowcount+1;i++){
Row row = sh.getRow(i);
for(int j=0;j<row.getLastCellNum();j++)
{
System.out.print(row.getCell(j).getStringCellValue()+"||");
}
System.out.println();

}


}

}

我的 XML

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="tests" thread-count="1">

<test name="verify read file in excel">

<parameter name="filepath" value="F:\\Excelsheet"/>
<parameter name="filename" value="Book1.xlsx"/>
<parameter name="sheetname" value="Sheet1"/>

<classes>
<class name="ExcelReading.ReadFilesinExcel"/>
</classes>

</test>
</suite>

我在执行时遇到以下错误 org.testng.TestNGException:readfile 方法需要 3 个参数,但 @Test 注释中提供了 0 个参数。 在 org.testng.internal.Parameters.checkParameterTypes(Parameters.java:198) 在 org.testng.internal.Parameters.createParameters(Parameters.java:134) 在 org.testng.internal.Parameters.createParameters(Parameters.java:373) 在 org.testng.internal.Parameters.handleParameters(Parameters.java:450) 在 org.testng.internal.Invoker.handleParameters(Invoker.java:1383) 在 org.testng.internal.Invoker.createParameters(Invoker.java:1075) 在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1180) 在 org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) 在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) 在 org.testng.TestRunner.privateRun(TestRunner.java:767) 在 org.testng.TestRunner.run(TestRunner.java:617) 在 org.testng.SuiteRunner.runTest(SuiteRunner.java:334) 在 org.testng.SuiteRunner.access$000(SuiteRunner.java:37) 在 org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368) 在 org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64) 在 java.util.concurrent.FutureTask$Sync.innerRun(来源未知) 在 java.util.concurrent.FutureTask.run(来源未知) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(来源未知) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(来源未知) 在 java.lang.Thread.run(来源不明)

最佳答案

如果在方法级别使用@Parameters注释,它应该可以正常工作,因此请更改如下代码

@Test
public class ReadFilesinExcel {

@Parameters({"filepath","filename","sheetname"})
public void readfile(String Filepath,String Filename,String Sheetname) {

}
}

关于java - 如何用java解决selenium webdriver中的 "Method readfile requires 3 parameters but 0 were supplied in the @Test annotation.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38972902/

25 4 0