私はまだセレンの初心者であり、基本的なフレームワークを開発しようとしました。フレームワークが機能していません。私は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;
}
}
で
readExcel(String filePath, String fileName,String sheetName)
を呼び出そうか?スタックトレースまたはエラーログを共有してください。 –java.lang.RuntimeException:java.lang.NullPointerException \t at org.testng.internal.MethodInvocationHelper.invokeDataProvider(MethodInvocationHelper.java:161) – nit22
jxl jarsを使用して同じExcelを読み込もうとしました。それを行うことができました。しかし、私はその方法で ".xls"ファイルを読むことしかできません。 – nit22