Использование явного ожидания в фабрике страниц для поиска WebElement - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу найти и щелкнуть элемент в структуре объектной модели страницы, используя PageFactory. Я не хочу использовать Thread.sleep (). Неявное ожидание не поможет, оно дает «NoSuchElementException». Пожалуйста, дайте мне знать, как использовать Explicit Wait или Fl unet Wait в этом отношении.
Мой класс локатора выглядит следующим образом: -

public class Locators {
 public WebDriver driver;

@FindBy(css = "a#welcome")
    @CacheLookup()
    WebElement welcome_link;

    @FindBy(linkText = "Logout")
    @CacheLookup()
    WebElement logout_btn;


    public Locators(WebDriver driver) {
        this.driver = driver;
        PageFactory.initElements(driver, this);
    }
    public void clickonWelcome() {
        welcome_link.click();
    }
    public void clickOnLogout() {
        logout_btn.click();
}
    }

Мой класс stepDefinition выглядит следующим образом: -

public class OrangeHRMSteps {

    public WebDriver driver;
    Locators locator;
@Then("Click on Welcome Link")
    public void click_on_Welcome_Link() {
        locator.clickonWelcome();
    }

    @Then("click on Logout link")
    public void click_on_Logout_link() {
        locator.clickOnLogout();
    }
...