2016-06-25 15 views
0

私はまだセレンの初心者であり、基本的なフレームワークを開発しようとしました。フレームワークが機能していません。私はTESTNGとDataProviderアノテーションを使用しました。セレンの基本フレームワークが動作していません

代わりのフレームワーク/コードを助けてください。

これは私が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

readExcel(String filePath, String fileName,String sheetName)を呼び出そうか?スタックトレースまたはエラーログを共有してください。 –

+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

あなたが取得しているエラーが何であるかをfile.readExcel("F:\\WORKSPACE\\ZFlipkartPractice\\","FlipkartTestData.xlsx", "Search Data");

+0

ありがとう、それはfile.readExcel(...)で動作しました。 – nit22

関連する問題