如何使用Selenium WebDriver TestNG数据提供者方法从Excel工作表读取特定值?

以下是代码: –

package sanityTests; import java.io.File; import java.io.IOException; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; public class DataDrivenTest2 { @Test (dataProvider= "testdata") //attribute public void add(String x , String y){ int a= Integer.parseInt(x); //Convert String to integer int b = Integer.parseInt(y); int z=a+b; System.out.println(z); } @DataProvider(name="testdata") //annotation for TestNG public Object [] [] readExcel() throws BiffException, IOException //Way of Object Declaration of Array.Main Method Removed because of test NG Framework { File f = new File("C:/Users/Ishan/Desktop/Input2.xls"); //Create File Object to locate file on system Workbook w = Workbook.getWorkbook(f); //Activate the Workbook Sheet s = w.getSheet(0); //Activate Sheet (either by name or id). Id starts with 0 int rows= s.getRows() ; //Get Row Count System.out.println(rows); //Get Column Count int columns = s.getColumns(); System.out.println(columns); String InputData[] [] = new String [rows] [columns]; //Array to read data from excel file for(int i=0; i<rows; i++){ for(int j=0; j<columns;j++){ Cell c =s.getCell(j, i); // Getting location of cell InputData[i][j] =c.getContents(); System.out.println(InputData[i][j]); } } return InputData; } } 

现在,它将返回所有inputExcel中提到的值和总和值。 以下是input值

1 2 3 4 5 6

现在我只想从特定的行和列中select数值,比如第1行,第1列,并添加它们并显示总和。 我试图在input数据字段中input1,1,但我没有得到输出。 请帮忙。

如果你想要特定单元格的数据,那么你可以这样做:

  File f = new File("/Users/Pankaj/Desktop/QA_Automation/qascripting/Stacks/files/Input2.xls"); //Create File Object to locate file on system Workbook w = Workbook.getWorkbook(f); //Activate the Workbook Sheet s = w.getSheet(0); //Activate Sheet (either by name or id). Id starts with 0 int rows= s.getRows() ; //Get Row Count int columns = s.getColumns(); //sheet's columns and rows are started with (column = 0, row = 0) int firstColumn = 0; int secondColumn = 1; int secondRow = 1; int firstColumnData = Integer.parseInt(s.getCell(firstColumn, secondRow).getContents()); int secondColumnData = Integer.parseInt(s.getCell(secondColumn, secondRow).getContents()); int desiredData = firstColumnData + secondColumnData; System.out.println("First Column: "+firstColumnData + " Second Column Data: "+secondColumnData + " Sum Data: "+desiredData);