В нижеуказанном классе LogOutfunc,
Я создал объект для класса LoginPage, и когда я запускаю программу класса LogOutfunc, метод Launch () передается. Тем не менее
Метод LogOut () завершается с ошибкой java.lang.NullPointerException.
После login (), URL переходит на страницу, которая содержит объекты, присутствующие в методе LogOut (), но не идентифицирует объект. Предложите мне решение о том, как использовать экземпляр драйвера в текущем классе.
1. LogOutfunc Class
package TestNG;
import org.openqa.selenium.By;
import org.openqa.selenium.NoAlertPresentException;
import org.openqa.selenium.WebDriver;
import org.testng.annotations.Test;
public class LogOutfunc {
public WebDriver driver;
@Test()
public void Launch() throws NoAlertPresentException, InterruptedException {
LoginPage tc1 = new LoginPage();
tc1.setUp();
tc1.Login("test_Sharmila","Welcome123","Sharmila");
}
@Test()
public void LogOut() {
System.out.println("Logout Functionality");
driver.findElement(By.xpath("//img[@id=\"usrmenu\"]]")).click();
driver.findElement(By.xpath("//span[@class='logoutx']//a[text()='Logout']")).click();
System.out.println("Logged out from the page");
2. Класс LoginPage
package TestNG;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.NoAlertPresentException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class LoginPage {
String driverPath = "C:\\Selenium\\Driver\\chromedriver.exe";
public WebDriver driver;
String baseUrl = "https://www.myguruavatar.com/demo";
String expectedtUrl = "https://www.myguruavatar.com/demo/index.php?option=com_avatarprofile&view=avatarprofileform";
@BeforeTest
public void setUp() {
System.setProperty("webdriver.chrome.driver", driverPath);
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get(baseUrl);
}
@Test
public void Login(String userName, String password, String Name)
throws NoAlertPresentException, InterruptedException {
driver.manage().window().maximize();
driver.findElement(By.xpath("//input[@id=\"modlgn-username\"]")).sendKeys(userName);
driver.findElement(By.xpath("//input[@id=\"modlgn-passwd\"]")).sendKeys(password);
driver.findElement(By.xpath("//*[@id=\"login-form\"]/fieldset/div/p[2]/input")).click();
driver.findElement(By.xpath("//input[@id=\"hmelogin\"]")).click();
if (driver.getCurrentUrl().contains(expectedtUrl)) {
System.out.println("Login Success");
} else {
System.out.println("Login Failure");
пожалуйста, дайте мне знать, как использовать экземпляр драйвера в текущем классе.