0
저는 Selenium에서 아직 초보자이며 기본 프레임 워크를 개발하려고했습니다. 프레임 워크가 작동하지 않습니다. 나는 TESTNG와 DataProvider 어노테이션을 사용했다.Selenium 기본 프레임 워크가 작동하지 않습니다.
다른 프레임 워크/코드를 제안하거나 제안하십시오.
이것은 내가 Excel을 읽도록 만든 프로그램입니다.
@SuppressWarnings("resource")
public Sheet readExcel(String filePath, String fileName,String sheetName) throws Exception {
// TODO Auto-generated method stub
File src = new File(filePath);
FileInputStream fis = new FileInputStream(src);
Workbook FlipkartWorkbook = null;
String fileExtension = fileName.substring(fileName.indexOf("."));
if(fileExtension.equalsIgnoreCase(".xlsx"))
{
FlipkartWorkbook = new XSSFWorkbook(fis); //for xlsx file & HSSFWrokbook for xls file
}
else if(fileExtension.equalsIgnoreCase("xls"))
{
FlipkartWorkbook = new HSSFWorkbook(fis);
}
Sheet FlipkartSheet = FlipkartWorkbook.getSheet(sheetName);
//XSSFSheet sheet1 = wb.getSheetAt(0);
return FlipkartSheet;
}
그리고 이것은 제가 시도한 테스트 케이스입니다.
public class TestCase {
public WebDriver driver;
@BeforeMethod
public void startBrowser()
{
File path = new File("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
FirefoxBinary ffBinary = new FirefoxBinary(path);
ProfilesIni allprofs = new ProfilesIni();
FirefoxProfile firefoxProfile = allprofs.getProfile("Selenium");
/* firefoxProfile.setPreference("browser.cache.disk.enable", false);
firefoxProfile.setPreference("browser.cache.memory.enable", false);
firefoxProfile.setPreference("browser.cache.offline.enable", false);
firefoxProfile.setPreference("network.http.use-cache", false)*/;
driver = new FirefoxDriver(ffBinary, firefoxProfile);
//driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://flipkart.com");
}
@Test(dataProvider="FlipkartData")
public void TestCase_AutoComplete(String searchText, String uselessData) throws Exception
{
Objects obj = new Objects(driver);
obj.Search(searchText);
//driver.findElement(By.xpath(".//*[@id='container']/div/div/header/div[2]/div/div[2]/div/form/div/input")).sendKeys("shoes");
}
@DataProvider(name="FlipkartData")
public Object[][] getData() throws Exception
{
Object[][] data;
ReadExcelData file = new ReadExcelData();
Sheet FlipSheet = file.readExcel("F:\\WORKSPACE\\ZFlipkartPractice\\FlipkartTestData.xlsx","FlipkartTestData.xlsx", "Search Data");
int lastrow;
lastrow = FlipSheet.getLastRowNum();
int rowCount = (FlipSheet.getLastRowNum()- FlipSheet.getFirstRowNum())- 1;
System.out.println(rowCount);
data = new Object[rowCount][1];
for (int i = 0; i < rowCount; i++)
{
//Loop over all the rows
Row row1 = FlipSheet.getRow(i+1);
//Create a loop to print cell values in a row
for (int j = 1; j < 2; j++)
{
//Print excel data in console
data[i][j] = row1.getCell(j).getStringCellValue();
System.out.println(data[i][j]);
}
}
System.out.println("");
return data;
}
}
오류가 무엇을 얻고있다
file.readExcel("F:\\WORKSPACE\\ZFlipkartPractice\\","FlipkartTestData.xlsx", "Search Data");
와readExcel(String filePath, String fileName,String sheetName)
를 호출? stacktrace 또는 오류 로그를 공유하십시오. –java.lang.RuntimeException : java.lang.NullPointerException \t at org.testng.internal.MethodInvocationHelper.invokeDataProvider (MethodInvocationHelper.java:161) – nit22
jxl jars를 사용하여 동일한 Excel을 읽으려고했습니다. 그렇게 할 수있었습니다. 하지만 ".xls"파일을 읽을 수만 있습니다. – nit22