POMに基づいてテストケースを実行しようとしているときに "java.lang.NullPointerException"が発生しています。 BrowserFactoryクラスでブラウザを選択できます。POMに基づくFlipkart_Loginクラスは、特定のページのすべての要素を格納し、Valid_Login()メソッド と最後にTest_Flipkart_Loginクラスを持っています.ExecutonのValid_Loginこのクラスを実行するには、java.lang.NullPointerExceptionを取得します。Selenium POM java.lang.NullPointerException
よろしくお願いします!
FAILED:Flipkart_Login_Test java.lang.NullPointerExceptionがDataProviders.ConfigDataProvider.getURL(ConfigDataProvider.java:31) でTestCases.Test_Flipkart_Login.Flipkart_Login_Test(Test_Flipkart_Login.java:19)で
パブリッククラスConfigDataProvider { 静的プロパティpro;
public ConfigDataProvider()
{
File src = new File("C:\\Data\\Bimlesh\\Flipkart_HybridFramework\\Flipkart.Hybrid.FrameworkComplete\\Configuration\\Config.Properties");
try
{
FileInputStream fis = new FileInputStream(src);
pro = new Properties();
pro.load(fis);
} catch (Exception e)
{
System.out.println("The Config exception is :"+e.getMessage());
}
}
public static String getURL()
{
String URL = pro.getProperty("URL");
return URL;
}
public static String ChromePath()
{
String Chrome = pro.getProperty("Chromepath");
return Chrome;
}
public static String IEPath()
{
String IE = pro.getProperty("IEpath");
return IE;
}
}
パブリッククラスBrowserFactory {静的webdriverをドライバ。
public static WebDriver getBrowser(String BrowserName)
{
if(BrowserName.equalsIgnoreCase("Firefox"))
{
driver = new FirefoxDriver();
}
else if(BrowserName.equalsIgnoreCase("Chrome"))
{
System.setProperty("webdriver.chrome.driver", ConfigDataProvider.ChromePath());
driver = new ChromeDriver();
}
else if(BrowserName.equalsIgnoreCase("IE"))
{
System.setProperty("webdriver.ie.driver", ConfigDataProvider.IEPath());
driver = new InternetExplorerDriver();
}
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
return driver;
}
public void ShutDown(WebDriver driver)
{
driver.quit();
}
}
パブリッククラスFlipkart_Login {webdriverをドライバ。
public Flipkart_Login(WebDriver driver)
{
this.driver=driver;
}
@FindBy(xpath="//a[text()='Log In']") WebElement Login_Click;
@FindBy(xpath="//input[@class='_2zrpKA' and @type='text']") WebElement Enter_Email;
@FindBy(xpath="//input[@class='_2zrpKA _3v41xv' and @type='password']") WebElement Enter_Pass;
@FindBy(xpath="//button[@type='submit' and @class='_3zLR9i _1LctnI _36SmAs']") WebElement Login_Button;
public void Valid_Login()
{
Login_Click.click();
Enter_Email.sendKeys("[email protected]");
Enter_Pass.sendKeys("xxx");
Login_Button.click();
}
}
パブリッククラスTest_Flipkart_Login {webdriverをドライバ。
@Test
public void Flipkart_Login_Test()
{
driver = BrowserFactory.getBrowser("Firefox");
driver.get(ConfigDataProvider.getURL());
Flipkart_Login page1 = PageFactory.initElements(driver, Flipkart_Login.class);
page1.Valid_Login();
}
}