diff --git a/src/test/java/school/redrover/DashboardTest.java b/src/test/java/school/redrover/DashboardTest.java index e1de5e573..a03569406 100644 --- a/src/test/java/school/redrover/DashboardTest.java +++ b/src/test/java/school/redrover/DashboardTest.java @@ -171,7 +171,7 @@ public void testAddColumnsInListViewOnDashboard() { .sendViewName(listViewName) .selectListViewRadioAndCreate() .selectJobCheckbox(PIPELINE_NAME) - .clickAddColumnDropDownButton(); + .clickAddColumnButton(); EditViewPage editViewPage = new EditViewPage(getDriver()); List actualColumnList = editViewPage @@ -181,7 +181,7 @@ public void testAddColumnsInListViewOnDashboard() { Assert.assertNotEquals(actualColumnList.size(), 0); Assert.assertEquals(actualColumnList, expectedColumnList); - editViewPage.clickSubmitButton(); + editViewPage.clickSaveButton(); int actualCountDisplayedColumns = homePage.getCountOfDisplayedColumnsOnDashboard(); Assert.assertEquals(actualCountDisplayedColumns, actualColumnList.size()); } @@ -204,7 +204,7 @@ public void testRemoveColumnsInListView() { Assert.assertFalse(actualColumnListAfterDelete.contains(columnName)); - new EditViewPage(getDriver()).clickSubmitButton(); + new EditViewPage(getDriver()).clickSaveButton(); int actualCountDisplayedColumns = homePage.getCountOfDisplayedColumnsOnDashboard(); Assert.assertEquals(actualCountDisplayedColumns, initialCountDisplayedColumns - 1); diff --git a/src/test/java/school/redrover/page/CreateViewPage.java b/src/test/java/school/redrover/page/CreateViewPage.java index 5492d7ffc..0ada37b0a 100644 --- a/src/test/java/school/redrover/page/CreateViewPage.java +++ b/src/test/java/school/redrover/page/CreateViewPage.java @@ -1,6 +1,5 @@ package school.redrover.page; -import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; @@ -22,7 +21,13 @@ public class CreateViewPage extends BasePage { private WebElement header; @FindBy(id = "ok") - private WebElement okButton; + private WebElement createButton; + + @FindBy(xpath = "//div[@class='jenkins-radio']//label") + private List typeViewList; + + @FindBy(xpath = "//label[text() = 'List View']") + private WebElement listViewRadioButton; public CreateViewPage(WebDriver driver) { super(driver); @@ -53,22 +58,21 @@ public CreateViewPage clickMyViewName(){ } public HomePage clickCreateButtonForNewView() { - okButton.click(); + createButton.click(); return new HomePage(getDriver()).waitUntilPageLoadJS(); } public List getTypeViewList(){ - return getDriver().findElements(By.xpath("//div[@class='jenkins-radio']//label")) + return typeViewList .stream() .map(WebElement::getText) .toList(); } public EditViewPage selectListViewRadioAndCreate(){ - getDriver().findElement(By.xpath("//label[text() = 'List View']")).click(); - - okButton.click(); + listViewRadioButton.click(); + createButton.click(); return new EditViewPage(getDriver()).waitUntilPageLoadJS(); } diff --git a/src/test/java/school/redrover/page/EditViewPage.java b/src/test/java/school/redrover/page/EditViewPage.java index 4961819d8..646a1c174 100644 --- a/src/test/java/school/redrover/page/EditViewPage.java +++ b/src/test/java/school/redrover/page/EditViewPage.java @@ -4,7 +4,6 @@ import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.ui.ExpectedConditions; import org.testng.Assert; @@ -18,6 +17,15 @@ public class EditViewPage extends BasePage { @FindBy(xpath = "//button[@class='jenkins-dropdown__item ']") private List columnListForAdd; + @FindBy(xpath = "//button[text()='Add column']") + private WebElement addColumnButton; + + @FindBy(xpath = "//div[@class='repeated-chunk__header']") + private List columnHeaders; + + @FindBy(xpath = "//button[@name='Submit']") + private WebElement saveButton; + public EditViewPage(WebDriver driver) { super(driver); @@ -33,25 +41,19 @@ public EditViewPage waitUntilPageLoad() { return null; } - public EditViewPage clickAddColumnDropDownButton() { + public EditViewPage clickAddColumnButton() { ((JavascriptExecutor) getDriver()).executeScript("arguments[0].scrollIntoView({block: 'center'});", - getWait10().until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//button[text()='Add column']")))); + getWait10().until(ExpectedConditions.visibilityOf(addColumnButton))); - new Actions(getDriver()) - .moveToElement(getWait2().until(ExpectedConditions.elementToBeClickable(By - .xpath("//button[text()='Add column']")))) - .click() - .perform(); + addColumnButton.click(); return this; } public List getCurrentColumnList() { - getWait10().until(ExpectedConditions.visibilityOfElementLocated(By - .xpath("//div[@class=contains(text(),'Columns')]"))); + getWait10().until(ExpectedConditions.visibilityOfAllElements(columnHeaders)); - return getWait10().until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By - .xpath("//div[@class='repeated-chunk__header']"))) + return columnHeaders .stream() .map(WebElement::getText) .map(String::trim) @@ -81,9 +83,8 @@ public EditViewPage selectJobCheckbox(String jobName) { return this; } - public void clickSubmitButton() { - getWait5().until(ExpectedConditions.elementToBeClickable(By - .xpath("//button[@name='Submit']"))).click(); + public void clickSaveButton() { + getWait5().until(ExpectedConditions.elementToBeClickable(saveButton)).click(); } public EditViewPage clickDeleteButton(String columnName) {