Полный код написан для извлечения данных из excel и входа в Gmail, но при попытке сделать это мой браузер открылся, а также открылась нужная страница, а также идентификатор входа был выбран из excel и сохранен в переменной sUsername, но не удалось чтобы найти xpath как-element=driver.findElement(by.id("Email"));
, но когда я печатаю элемент, он содержит «null», где, как и ожидалось, был какой-то адрес идентификатора локатора. Кроме того, используя адрес идентификатора, который я бы использовал с sendkeys, чтобы ввести адрес электронной почты в текстовое поле.
Но высветилась следующая ошибка:
java.lang.NullPointerException в appModules.SignIN.Execute(SignIN.java:21)
Класс входа в систему — где существует проблема с локатором: at — Login1.userName(driver).sendKeys(sUsername);
public class Login1 {
//private static WebDriver driver=null;
private static WebElement element=null;
public static WebElement userName(WebDriver driver)
{
try {
System.out.println("aaa");
System.out.println("bb");
element=driver.findElement(By.name("Email"));
System.out.println("ccc");
} catch (Exception e) {
// TODO: handle exception
System.out.println(element);
}
return element;
}
public static WebElement btn_login(WebDriver driver)
{
element= driver.findElement(By.id("next"));
return element;
}
public static WebElement passWord(WebDriver driver)
{
element= driver.findElement(By.id("Passwd"));
return element;
}
public static WebElement btn_SignIN(WebDriver driver)
{
element= driver.findElement(By.id("signIn"));
return element;
}
}
Это класс SigniN, в котором я получаю исключение нулевого указателя Java — существует проблема: at-Login1.userName(driver).sendKeys(sUsername);
public class SignIN {
private static WebDriver driver=null;
public static void Execute (int iTestCaseRow)
{
String sUsername=ExcelUtils1.getCellData(iTestCaseRow,Constant1.col_UserName);
System.out.println(sUsername);
//driver.ma3nage().window().maximize();
//driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
Login1.userName(driver).sendKeys(sUsername);
//driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
Login1.btn_login(driver).click();
String pass=ExcelUtils1.getCellData(iTestCaseRow, Constant1.col_password1);
Login1.passWord(driver).sendKeys(pass);
Login1.btn_SignIN(driver).click();
}
}
Здесь я создал экземпляр браузера -
public class Utils1 {
public static WebDriver driver;
public static WebDriver OpenBrowser(int iTestCaseRow) {
String sBrowserName;
System.out.println(iTestCaseRow);
sBrowserName = ExcelUtils1.getCellData(iTestCaseRow,
Constant1.col_browser);
if (sBrowserName.equals("Mozilla")) {
driver = new FirefoxDriver();
// Log.info("New driver instantiated");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
// Log.info("Implicit wait applied on the driver for 10 seconds");
driver.get(Constant1.URL);
// Log.info("Web application launched successfully");
}
return driver;
}
}
Login1.userName(driver)
? ПодписьWebElement userName()
. Вы когда-нибудь инициализировалиdriver
в SignIN? Кроме того, пожалуйста, вставьте всю трассировку стека. Мы не можем видеть, какая строка № 21 в вашем списке. - person Würgspaß   schedule 27.01.2016private static WebDriver driver=null;
, ur no where предоставляет объект драйвера класса Utils классу SignIn. :) - person Vivek Singh   schedule 29.01.2016