From 1c2f766109c12afb48200406d58d4e993f7f045f Mon Sep 17 00:00:00 2001 From: Andrei Sudakov Date: Thu, 25 Feb 2021 16:08:37 +0300 Subject: [PATCH] Wait until the create button is visible --- .../java/com/epam/ta/page/CreateNewRepositoryPage.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/java/GitHubAutomation/src/test/java/com/epam/ta/page/CreateNewRepositoryPage.java b/java/GitHubAutomation/src/test/java/com/epam/ta/page/CreateNewRepositoryPage.java index 39cfd6b..6a53f23 100644 --- a/java/GitHubAutomation/src/test/java/com/epam/ta/page/CreateNewRepositoryPage.java +++ b/java/GitHubAutomation/src/test/java/com/epam/ta/page/CreateNewRepositoryPage.java @@ -24,6 +24,8 @@ public class CreateNewRepositoryPage extends AbstractPage @FindBy(xpath = "//form[@id='new_repository']//button[@type='submit']") private WebElement buttonCreate; + private final By buttonCreateEnableLocator = By.xpath("//form[@id='new_repository']//button[@type='submit'][not(@disabled)]"); + private final By labelEmptyRepoSetupOptionLocator = By.xpath("//h3/strong[text()='Quick setup']"); @FindBy(xpath = "//a[@data-pjax='#js-repo-pjax-container']") @@ -42,10 +44,18 @@ public boolean isCurrentRepositoryEmpty() return labelEmptyRepoSetupOption.isDisplayed(); } + public boolean waitButtonCreate() { + WebElement button = new WebDriverWait(driver, WAIT_TIMEOUT_SECONDS) + .until(ExpectedConditions.presenceOfElementLocated(buttonCreateEnableLocator)); + logger.info("Wait until the create button is visible"); + return button.isDisplayed(); + } + public CreateNewRepositoryPage createNewRepository(String repositoryName, String repositoryDescription) { inputRepositoryName.sendKeys(repositoryName); inputRepositoryDescription.sendKeys(repositoryDescription); + waitButtonCreate(); buttonCreate.click(); logger.info("Created repository with name: [" + repositoryName + "[ and description: [" + repositoryDescription + "]");