В моем приложении при первом входе пользователя в систему, а затем на первой странице отображается имя пользователя (управляемый данными подход с использованием @factory).Но если пользователь выходит из системы и снова входит в систему, то появляются новые страницы со следующим текстом.
You're signed out now.
Click here to sign in again.
Мой вопрос заключается в том, как проверить, присутствует ли этот текст - «Нажмите здесь», затем щелкните по нему и выполните те же действия.как упоминалось в функции входа в систему.
Я попытался реализовать блок if-else, чтобы проверить, отображается ли этот веб-элемент, затем щелкните по нему и выполните то же действие, что и в функции входа в систему.Но выдает ошибку, что
org.openqa.selenium.NoSuchElementException: Cannot locate an element using xpath=//a[@href='/Account/Login']
For documentation on this error, please visit: https://www.seleniumhq.org/exceptions/no_such_element.html
Хотя я успешно могу достичь своего результата, указав этот элемент для нажатия в функции выхода из системы.Но когда, наконец, мой тест заканчивается, он всегда нажимает на него.
@FindBy(xpath="//a[@href='/Account/Login']")
WebElement clickHere;
// функция для проверки
if (clickHere.isDisplayed())
{
clickHere.click();
username.sendKeys(strUsername);
nextBtn.click();
password.sendKeys(strPassword);
loginButton.click();
System.out.println("Successfully Logged");
}
else
{
username.sendKeys(strUsername);
nextBtn.click();
password.sendKeys(strPassword);
loginButton.click();
System.out.println("Successfully Logged");
}
Пожалуйста, предложите решение для проверки в функции входа в систему каждый раз.