Невозможно перейти от всплывающей страницы входа в систему к всплывающей странице пароля в Selenium - PullRequest
0 голосов
/ 14 марта 2020

Я пытаюсь создать тест Selenium для входа в аккаунт. Каждый раз, когда нажимается кнопка «Продолжить», он говорит:

нет такого элемента: Невозможно найти элемент: {"method":"xpath","selector":"//INPUT[@id='password']"}

и остается на странице электронной почты, не перемещается на страницу пароля. Хотя xpath текстового поля «пароль» правильный. Мой код ниже.

логин

public class login {

  WebDriver driver;

public login(WebDriver driver)
{
    this.driver = driver;
    PageFactory.initElements(driver, this);

}


@FindBy(xpath="//LI[@data-cy='account']")
WebElement CreateorLoginButtonXpath;

@FindBy(xpath="//INPUT[@id='username']")
WebElement EmailTextBoxXpath ;

@FindBy(xpath="//BUTTON[@class='capText font16']")
WebElement ContinueButtonXpath;

@FindBy(xpath="//INPUT[@id='password']")
WebElement PasswordTextBoxXpath;

@FindBy(xpath="//BUTTON[@data-cy='login']")
WebElement LoginButtonXpath;



   public void clickCreateorLoginButtonXpath()
{
    CreateorLoginButtonXpath.click();
    System.out.println("login or create button is clicked");
}

public void TypeEmailTextBoxXpath(String email)
{
    EmailTextBoxXpath.sendKeys(email);
    System.out.println("email is typed");
}
public void clickContinueButtonXpath()
{
    ContinueButtonXpath.click();
    System.out.println("Continue Button is clicked");
}
public void TypePasswordTextBoxXpath(String password)
{
    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(PasswordTextBoxXpath)).sendKeys(password);
    System.out.println("Password is given");
}
public void clickLoginButtonXpath()
{
    LoginButtonXpath.click();
    System.out.println("Login Button is clicked");
}



}

основной класс

public class RunloginTestCase {

WebDriver driver = new ChromeDriver();

login lg = new login(driver);

@BeforeTest
public void openBrowser() throws InterruptedException
{
    driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
    driver.get("https://www.makemytrip.com/");
    System.out.println("Broweser opened");

}

@Test
public void loginTestPositive() throws InterruptedException
{
    lg.clickCreateorLoginButtonXpath();
    lg.TypeEmailTextBoxXpath("test1992@test.com");
    Thread.sleep(2000L);
    lg.clickContinueButtonXpath();
    driver.manage().timeouts().implicitlyWait(60,TimeUnit.SECONDS) ;
    lg.TypePasswordTextBoxXpath("!Qwerqwer1");
    lg.clickLoginButtonXpath();
    Thread.sleep(3000L);
    lg.clickSkipVerificationPopupPageButtonXpath();


}

}

Ответы [ 2 ]

0 голосов
/ 15 марта 2020
public class RunloginTestCase {
WebDriver driver = new ChromeDriver();

@BeforeTest
public void openBrowser() throws InterruptedException

{
driver.get("https://www.makemytrip.com/");
System.out.println("Broweser opened");
Thread.sleep(3000L);

}

@Test
public void loginTestPositive() throws InterruptedException{

login lg = new login(driver);
lg.clickCreateorLoginButtonXpath();
lg.TypeEmailTextBoxXpath("email");
Thread.sleep(5000L);    
lg.clickContinueButtonXpath();
Thread.sleep(5000L);
lg.TypePasswordTextBoxXpath("password");
lg.clickLoginButtonXpath();    

}

}

Please try with this one
0 голосов
/ 14 марта 2020

Я думаю, вы указали неверно отформатированный адрес электронной почты. Пожалуйста, попробуйте с действительным образцом электронной почты, как "test@test.test" ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...