2016-06-25 2 views
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; 
     } 

} 
+0

오류가 무엇을 얻고있다 file.readExcel("F:\\WORKSPACE\\ZFlipkartPractice\\","FlipkartTestData.xlsx", "Search Data");readExcel(String filePath, String fileName,String sheetName)를 호출? stacktrace 또는 오류 로그를 공유하십시오. –

+0

java.lang.RuntimeException : java.lang.NullPointerException \t at org.testng.internal.MethodInvocationHelper.invokeDataProvider (MethodInvocationHelper.java:161) – nit22

+0

jxl jars를 사용하여 동일한 Excel을 읽으려고했습니다. 그렇게 할 수있었습니다. 하지만 ".xls"파일을 읽을 수만 있습니다. – nit22

답변

0

시도

+0

감사합니다. file.readExcel (...)을 사용했습니다. – nit22

관련 문제