mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-23 08:28:10 +00:00
Revamp topic details selenium test (#2677)
* Revamp topic details page * Java checkstyle * Table details page code refactor Co-authored-by: kushal <kushalshinde2512@gmail.com>
This commit is contained in:
parent
99a61fa774
commit
ee071704fc
@ -1,7 +1,9 @@
|
|||||||
package org.openmetadata.catalog.selenium.objectRepository;
|
package org.openmetadata.catalog.selenium.objectRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import org.openqa.selenium.By;
|
import org.openqa.selenium.By;
|
||||||
import org.openqa.selenium.WebDriver;
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
|
||||||
public class Common {
|
public class Common {
|
||||||
WebDriver webDriver;
|
WebDriver webDriver;
|
||||||
@ -21,7 +23,7 @@ public class Common {
|
|||||||
By editDescriptionSaveButton = By.cssSelector("[data-testid='save']");
|
By editDescriptionSaveButton = By.cssSelector("[data-testid='save']");
|
||||||
By closeWhatsNew = By.cssSelector("[data-testid='closeWhatsNew']");
|
By closeWhatsNew = By.cssSelector("[data-testid='closeWhatsNew']");
|
||||||
By headerSettings = By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']");
|
By headerSettings = By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']");
|
||||||
|
By explore = By.xpath("[data-testid='appbar-item'][id='explore']");
|
||||||
By headerSettingsServices = By.cssSelector("[data-testid='menu-item-Services']");
|
By headerSettingsServices = By.cssSelector("[data-testid='menu-item-Services']");
|
||||||
By addServiceButton = By.cssSelector("[data-testid='add-service-button']");
|
By addServiceButton = By.cssSelector("[data-testid='add-service-button']");
|
||||||
By noServicesAddServiceButton = By.cssSelector("[data-testid='add-new-user-button']");
|
By noServicesAddServiceButton = By.cssSelector("[data-testid='add-new-user-button']");
|
||||||
@ -58,6 +60,70 @@ public class Common {
|
|||||||
By matchesStats = By.cssSelector("[data-testid='matches-stats']");
|
By matchesStats = By.cssSelector("[data-testid='matches-stats']");
|
||||||
By editLineageButton = By.cssSelector("[data-testid='edit-lineage']");
|
By editLineageButton = By.cssSelector("[data-testid='edit-lineage']");
|
||||||
By whatsNewModalChangeLogs = By.cssSelector("[data-testid='WhatsNewModalChangeLogs']");
|
By whatsNewModalChangeLogs = By.cssSelector("[data-testid='WhatsNewModalChangeLogs']");
|
||||||
|
By tableCount = By.xpath("(//span[@data-testid='filter-count'])[1]");
|
||||||
|
By removeAssociatedTag = By.xpath("//span[@data-testid=\"remove\"]");
|
||||||
|
By breadCrumb = By.xpath("//li[@data-testid=\"breadcrumb-link\"]");
|
||||||
|
By descriptionContainer = By.xpath("//div[@data-testid='description']/div/p");
|
||||||
|
By manage = By.xpath("//button[@data-testid='tab'][contains(text(),'Manage')]");
|
||||||
|
By selectTier = By.xpath("(//div[@data-testid=\"card-list\"]/div/div/p)[1]");
|
||||||
|
By difference = By.xpath("//span[@class='diff-added']");
|
||||||
|
By searchBox = By.xpath("//input[@data-testid=\"searchBox\"]");
|
||||||
|
By follow = By.cssSelector("button[data-testid='follow-button']");
|
||||||
|
By users = By.xpath("//div[@data-testid='dropdown-list']//div[2]//button[2]");
|
||||||
|
By selectUser = By.xpath("//div[@data-testid=\"list-item\"]");
|
||||||
|
By saveManage = By.cssSelector("[data-testid='saveManageTab']");
|
||||||
|
By editDescriptionButton = By.xpath("//button[@data-testid= 'edit-description']");
|
||||||
|
By editDescriptionBox = By.xpath("//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div");
|
||||||
|
By version = By.xpath("//button[@data-testid=\"version-button\"]");
|
||||||
|
By versionRadioButton = By.xpath("//span[@data-testid=\"select-version\"]");
|
||||||
|
|
||||||
|
public By version() {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<WebElement> versionRadioButton() {
|
||||||
|
return webDriver.findElements(versionRadioButton);
|
||||||
|
}
|
||||||
|
|
||||||
|
public By editDescriptionButton() {
|
||||||
|
return editDescriptionButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By editDescriptionBox() {
|
||||||
|
return editDescriptionBox;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By saveManage() {
|
||||||
|
return saveManage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By selectUser() {
|
||||||
|
return selectUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By clickUsers() {
|
||||||
|
return users;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By clickFollow() {
|
||||||
|
return follow;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By difference() {
|
||||||
|
return difference;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By selectTier1() {
|
||||||
|
return selectTier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By manage() {
|
||||||
|
return manage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By descriptionContainer() {
|
||||||
|
return descriptionContainer;
|
||||||
|
}
|
||||||
|
|
||||||
public By displayName() {
|
public By displayName() {
|
||||||
return displayName;
|
return displayName;
|
||||||
@ -306,4 +372,24 @@ public class Common {
|
|||||||
public By overviewFilterCount(String entity) {
|
public By overviewFilterCount(String entity) {
|
||||||
return By.xpath("//div[@data-testid='" + entity + "-summary']//span[@data-testid='filter-count']");
|
return By.xpath("//div[@data-testid='" + entity + "-summary']//span[@data-testid='filter-count']");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public By explore() {
|
||||||
|
return explore;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By getTableCount() {
|
||||||
|
return tableCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By removeAssociatedTag() {
|
||||||
|
return removeAssociatedTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<WebElement> breadCrumb() {
|
||||||
|
return webDriver.findElements(breadCrumb);
|
||||||
|
}
|
||||||
|
|
||||||
|
public By getSearchBox() {
|
||||||
|
return searchBox;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,14 +13,15 @@ public class TopicDetails {
|
|||||||
this.webDriver = webDriver;
|
this.webDriver = webDriver;
|
||||||
}
|
}
|
||||||
|
|
||||||
By addTag = By.xpath("(//div[@class=\"tw-flex tw-flex-wrap\"])");
|
By addTag = By.xpath("//div[@data-testid=\"tag-conatiner\"]");
|
||||||
By selectTag = By.xpath("(//div[@data-testid=\"list-item\"])[2]");
|
By selectTag = By.xpath("(//div[@data-testid=\"list-item\"])[2]");
|
||||||
By selectedTag =
|
By selectedTag =
|
||||||
By.xpath("//span[@class=\"tw-no-underline hover:tw-no-underline tw-py-0.5 tw-px-2 tw-pl-2 tw-pr-1\"]");
|
By.xpath("//span[@class=\"tw-no-underline hover:tw-no-underline tw-py-0.5 tw-px-2 tw-pl-2 tw-pr-1\"]");
|
||||||
By breadCrumbTags = By.xpath("//span[@class=\"tw-no-underline hover:tw-no-underline tw-px-1\"]");
|
By breadCrumbTags = By.xpath("//span[@data-testid=\"tags\"]");
|
||||||
By editDescriptionButton = By.xpath("//button[@data-testid=\"edit-description\"]");
|
By editDescriptionButton = By.xpath("//button[@data-testid=\"edit-description\"]");
|
||||||
By config = By.xpath("(//button[@data-testid = \"tab\"])[2]");
|
By config = By.xpath("(//button[@data-testid = \"tab\"])[2]");
|
||||||
By manage = By.xpath("(//button[@data-testid = \"tab\"])[3]");
|
By manage = By.xpath("(//button[@data-testid = \"tab\"])[3]");
|
||||||
|
By topicName = By.linkText("orders");
|
||||||
|
|
||||||
public By addTag() {
|
public By addTag() {
|
||||||
return addTag;
|
return addTag;
|
||||||
@ -34,8 +35,8 @@ public class TopicDetails {
|
|||||||
return webDriver.findElements(selectedTag);
|
return webDriver.findElements(selectedTag);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<WebElement> breadCrumbTag() {
|
public By breadCrumbTag() {
|
||||||
return webDriver.findElements(breadCrumbTags);
|
return breadCrumbTags;
|
||||||
}
|
}
|
||||||
|
|
||||||
public By editDescriptionButton() {
|
public By editDescriptionButton() {
|
||||||
@ -49,4 +50,8 @@ public class TopicDetails {
|
|||||||
public By manage() {
|
public By manage() {
|
||||||
return manage;
|
return manage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public By topicName() {
|
||||||
|
return topicName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -160,13 +160,13 @@ public class TableDetailsPageTest {
|
|||||||
@Order(6)
|
@Order(6)
|
||||||
void removeTags() {
|
void removeTags() {
|
||||||
openExplorePage();
|
openExplorePage();
|
||||||
List<WebElement> tagDisplayed = topicDetails.breadCrumbTag();
|
List<WebElement> tagDisplayed = webDriver.findElements(topicDetails.breadCrumbTag());
|
||||||
Events.click(webDriver, explorePage.selectTable());
|
Events.click(webDriver, explorePage.selectTable());
|
||||||
Events.click(webDriver, tableDetails.tagName());
|
Events.click(webDriver, tableDetails.tagName());
|
||||||
Events.click(webDriver, tableDetails.removeTag());
|
Events.click(webDriver, tableDetails.removeTag());
|
||||||
Events.click(webDriver, tableDetails.saveTag());
|
Events.click(webDriver, tableDetails.saveTag());
|
||||||
webDriver.navigate().refresh();
|
webDriver.navigate().refresh();
|
||||||
List<WebElement> updatedTags = topicDetails.breadCrumbTag();
|
List<WebElement> updatedTags = webDriver.findElements(topicDetails.breadCrumbTag());
|
||||||
if (updatedTags.contains(tagDisplayed.get(1))) {
|
if (updatedTags.contains(tagDisplayed.get(1))) {
|
||||||
Assert.fail("Selected Tag is not removed");
|
Assert.fail("Selected Tag is not removed");
|
||||||
} else {
|
} else {
|
||||||
|
@ -16,21 +16,18 @@ package org.openmetadata.catalog.selenium.pages.topicDetails;
|
|||||||
import com.github.javafaker.Faker;
|
import com.github.javafaker.Faker;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import java.util.List;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import java.util.logging.Logger;
|
||||||
import org.junit.jupiter.api.MethodOrderer;
|
import org.junit.jupiter.api.*;
|
||||||
import org.junit.jupiter.api.Order;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.junit.jupiter.api.TestMethodOrder;
|
|
||||||
import org.openmetadata.catalog.selenium.events.Events;
|
import org.openmetadata.catalog.selenium.events.Events;
|
||||||
|
import org.openmetadata.catalog.selenium.objectRepository.*;
|
||||||
import org.openmetadata.catalog.selenium.properties.Property;
|
import org.openmetadata.catalog.selenium.properties.Property;
|
||||||
import org.openqa.selenium.By;
|
import org.openqa.selenium.*;
|
||||||
import org.openqa.selenium.WebDriver;
|
|
||||||
import org.openqa.selenium.chrome.ChromeDriver;
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
import org.openqa.selenium.chrome.ChromeOptions;
|
import org.openqa.selenium.chrome.ChromeOptions;
|
||||||
import org.openqa.selenium.interactions.Actions;
|
import org.openqa.selenium.interactions.Actions;
|
||||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
|
||||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||||
|
import org.testng.Assert;
|
||||||
|
|
||||||
@Order(7)
|
@Order(7)
|
||||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||||
@ -41,9 +38,19 @@ public class TopicDetailsPageTest {
|
|||||||
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
|
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
|
||||||
static Actions actions;
|
static Actions actions;
|
||||||
static WebDriverWait wait;
|
static WebDriverWait wait;
|
||||||
|
static String topic = "orders";
|
||||||
Integer waitTime = Property.getInstance().getSleepTime();
|
Integer waitTime = Property.getInstance().getSleepTime();
|
||||||
String webDriverInstance = Property.getInstance().getWebDriver();
|
String webDriverInstance = Property.getInstance().getWebDriver();
|
||||||
String webDriverPath = Property.getInstance().getWebDriverPath();
|
String webDriverPath = Property.getInstance().getWebDriverPath();
|
||||||
|
Common common;
|
||||||
|
TopicDetails topicDetails;
|
||||||
|
ExplorePage explorePage;
|
||||||
|
MyDataPage myDataPage;
|
||||||
|
private static final Logger LOG = Logger.getLogger(TopicDetails.class.getName());
|
||||||
|
int counter = 2;
|
||||||
|
String xpath = "//li[@data-testid='breadcrumb-link'][" + counter + "]";
|
||||||
|
String description = "Test@1234";
|
||||||
|
String updatedDescription = "Updated Description";
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void openMetadataWindow() {
|
public void openMetadataWindow() {
|
||||||
@ -51,7 +58,11 @@ public class TopicDetailsPageTest {
|
|||||||
ChromeOptions options = new ChromeOptions();
|
ChromeOptions options = new ChromeOptions();
|
||||||
options.addArguments("--headless");
|
options.addArguments("--headless");
|
||||||
options.addArguments("--window-size=1280,800");
|
options.addArguments("--window-size=1280,800");
|
||||||
webDriver = new ChromeDriver(options);
|
webDriver = new ChromeDriver();
|
||||||
|
common = new Common(webDriver);
|
||||||
|
topicDetails = new TopicDetails(webDriver);
|
||||||
|
explorePage = new ExplorePage(webDriver);
|
||||||
|
myDataPage = new MyDataPage(webDriver);
|
||||||
actions = new Actions(webDriver);
|
actions = new Actions(webDriver);
|
||||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
||||||
webDriver.manage().window().maximize();
|
webDriver.manage().window().maximize();
|
||||||
@ -60,176 +71,170 @@ public class TopicDetailsPageTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(1)
|
@Order(1)
|
||||||
public void openExplorePage() throws InterruptedException {
|
void openExplorePage() throws InterruptedException {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
Events.click(webDriver, common.closeWhatsNew());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
|
Events.click(webDriver, explorePage.explore());
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]")); // Topics
|
Thread.sleep(3000);
|
||||||
Thread.sleep(waitTime);
|
if (webDriver.findElement(common.getTableCount()).isDisplayed()) {
|
||||||
|
LOG.info("Passed");
|
||||||
|
} else {
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(2)
|
@Order(2)
|
||||||
public void checkTabs() throws InterruptedException {
|
public void checkTabs() throws InterruptedException {
|
||||||
|
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||||
openExplorePage();
|
openExplorePage();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
Events.sendKeys(webDriver, common.getSearchBox(), topic);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
Events.click(webDriver, topicDetails.topicName());
|
||||||
Thread.sleep(waitTime);
|
Events.click(webDriver, topicDetails.config());
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
Events.click(webDriver, common.manage());
|
||||||
Thread.sleep(waitTime);
|
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
|
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(3)
|
@Order(3)
|
||||||
public void checkFollow() throws InterruptedException {
|
void checkFollow() throws InterruptedException {
|
||||||
|
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||||
openExplorePage();
|
openExplorePage();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
Events.sendKeys(webDriver, common.getSearchBox(), topic);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
Events.click(webDriver, topicDetails.topicName());
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
String follow = webDriver.findElement(common.clickFollow()).getText();
|
||||||
Thread.sleep(waitTime);
|
if (follow.equals("Unfollow")) {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
|
Events.click(webDriver, common.clickFollow());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
|
Events.click(webDriver, common.clickFollow());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
|
} else {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
|
Events.click(webDriver, common.clickFollow());
|
||||||
|
}
|
||||||
|
Events.click(webDriver, myDataPage.clickHome());
|
||||||
|
String tableName = webDriver.findElement(myDataPage.following()).getText();
|
||||||
|
Assert.assertEquals(tableName, "Started following " + topic);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(4)
|
@Order(4)
|
||||||
public void addTags() throws InterruptedException {
|
public void addTags() throws InterruptedException {
|
||||||
|
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||||
openExplorePage();
|
openExplorePage();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
String[] selectedTag = new String[3];
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
Events.click(webDriver, explorePage.topics());
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
Events.click(webDriver, explorePage.selectTable());
|
||||||
Thread.sleep(waitTime);
|
Events.click(webDriver, topicDetails.addTag());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='tags']"));
|
Events.click(webDriver, common.enterAssociatedTagName());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
|
for (int i = 0; i < 3; i++) {
|
||||||
for (int i = 0; i <= 1; i++) {
|
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "P");
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "P");
|
Events.click(webDriver, common.tagListItem());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
selectedTag[i] = common.tagListItem().toString();
|
||||||
|
}
|
||||||
|
Events.click(webDriver, common.saveAssociatedTag());
|
||||||
|
webDriver.navigate().refresh();
|
||||||
|
List<WebElement> TagDisplayed = webDriver.findElements(topicDetails.breadCrumbTag());
|
||||||
|
Thread.sleep(waitTime);
|
||||||
|
for (int j = 0; j < TagDisplayed.size(); j++) {
|
||||||
|
Assert.assertEquals(TagDisplayed.get(j).getText(), selectedTag[j]);
|
||||||
}
|
}
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(5)
|
@Order(5)
|
||||||
public void removeTag() throws InterruptedException {
|
void removeTags() throws InterruptedException {
|
||||||
|
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||||
openExplorePage();
|
openExplorePage();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
Events.click(webDriver, explorePage.topics());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
Events.click(webDriver, explorePage.selectTable());
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[1]"));
|
List<WebElement> tagDisplayed = webDriver.findElements(topicDetails.breadCrumbTag());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='tag-conatiner']"));
|
Events.click(webDriver, topicDetails.addTag());
|
||||||
Thread.sleep(waitTime);
|
Events.click(webDriver, common.removeAssociatedTag());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
|
Events.click(webDriver, common.saveAssociatedTag());
|
||||||
Thread.sleep(waitTime);
|
webDriver.navigate().refresh();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
|
List<WebElement> updatedTags = webDriver.findElements(topicDetails.breadCrumbTag());
|
||||||
Thread.sleep(waitTime);
|
if (updatedTags.get(1).equals(tagDisplayed.get(1))) {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
Assert.fail("Selected Tag is not removed");
|
||||||
|
} else {
|
||||||
|
LOG.info("Passed");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(6)
|
@Order(6)
|
||||||
public void editDescription() throws InterruptedException {
|
void editDescription() throws InterruptedException {
|
||||||
|
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||||
openExplorePage();
|
openExplorePage();
|
||||||
String editDescription = faker.address().toString();
|
Events.click(webDriver, explorePage.topics());
|
||||||
String updateDescription = faker.address().toString();
|
Events.click(webDriver, explorePage.selectTable());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
Events.click(webDriver, common.editDescriptionButton());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
Events.sendKeys(webDriver, common.editDescriptionBox(), Keys.CONTROL + "A");
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
Events.sendKeys(webDriver, common.editDescriptionBox(), description);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
Events.click(webDriver, common.editDescriptionSaveButton());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), editDescription);
|
Thread.sleep(waitTime);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
|
||||||
webDriver.navigate().refresh();
|
webDriver.navigate().refresh();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
Events.click(webDriver, common.editDescriptionButton());
|
||||||
Thread.sleep(1000);
|
Events.sendKeys(webDriver, common.editDescriptionBox(), Keys.CONTROL + "A");
|
||||||
webDriver.findElement(By.xpath("//*[text()[contains(.,'" + editDescription + "')]] "));
|
Events.sendKeys(webDriver, common.editDescriptionBox(), updatedDescription);
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), updateDescription);
|
Events.click(webDriver, common.editDescriptionSaveButton());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
|
||||||
webDriver.navigate().refresh();
|
webDriver.navigate().refresh();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
String checkDescription = webDriver.findElement(common.descriptionContainer()).getText();
|
||||||
Thread.sleep(1000);
|
Assert.assertEquals(checkDescription, updatedDescription);
|
||||||
webDriver.findElement(By.xpath("//*[text()[contains(.,'" + editDescription + updateDescription + "')]] "));
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='cancel']"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(7)
|
@Order(7)
|
||||||
public void checkManage() throws InterruptedException {
|
public void checkManage() throws InterruptedException {
|
||||||
openExplorePage();
|
openExplorePage();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
Events.click(webDriver, explorePage.topics());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
Events.click(webDriver, explorePage.selectTable());
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
Thread.sleep(waitTime);
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
|
Events.click(webDriver, common.manage());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
|
Events.click(webDriver, common.ownerDropdown());
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud");
|
Events.click(webDriver, common.clickUsers());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team
|
Events.click(webDriver, common.selectUser());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='card-list']")); // Select Tier
|
Events.click(webDriver, common.selectTier1());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='saveManageTab']")); // Save
|
Events.click(webDriver, common.saveManage());
|
||||||
webDriver.navigate().back();
|
|
||||||
webDriver.navigate().refresh();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(8)
|
@Order(8)
|
||||||
public void checkBreadCrumb() throws InterruptedException {
|
void checkBreadCrumb() throws Exception {
|
||||||
|
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||||
openExplorePage();
|
openExplorePage();
|
||||||
String editDescription = faker.address().toString();
|
Events.click(webDriver, explorePage.topics());
|
||||||
String updateDescription = faker.address().toString();
|
Events.click(webDriver, explorePage.selectTable());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
List<WebElement> br = common.breadCrumb();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
// Using for loop to check breadcrumb links
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
// Since after navigating back we are facing StaleElementException using try catch block.
|
||||||
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='breadcrumb-link']")));
|
for (WebElement link : br) {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='breadcrumb-link']"));
|
try {
|
||||||
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='edit-description']")));
|
link.click();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
|
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), editDescription);
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
|
||||||
webDriver.navigate().refresh();
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
|
|
||||||
Thread.sleep(1000);
|
|
||||||
webDriver.findElement(By.xpath("//*[text()[contains(.,'" + editDescription + "')]] "));
|
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), updateDescription);
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
|
||||||
webDriver.navigate().refresh();
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
|
||||||
Thread.sleep(1000);
|
|
||||||
webDriver.findElement(By.xpath("//*[text()[contains(.,'" + editDescription + updateDescription + "')]] "));
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='cancel']"));
|
|
||||||
for (int i = 1; i <= 3; i++) { // check topics in service
|
|
||||||
Events.click(webDriver, By.xpath("(//tr[@data-testid='column']//td[1]/a)" + "[" + i + "]")); // topics
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
|
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), editDescription);
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
|
||||||
webDriver.navigate().refresh();
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
|
|
||||||
Thread.sleep(1000);
|
|
||||||
webDriver.findElement(By.xpath("//*[text()[contains(.,'" + editDescription + "')]] "));
|
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), updateDescription);
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
|
||||||
webDriver.navigate().refresh();
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
|
||||||
Thread.sleep(1000);
|
|
||||||
webDriver.findElement(By.xpath("//*[text()[contains(.,'" + editDescription + updateDescription + "')]] "));
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='cancel']"));
|
|
||||||
Thread.sleep(waitTime);
|
|
||||||
webDriver.navigate().back();
|
webDriver.navigate().back();
|
||||||
|
} catch (StaleElementReferenceException ex) {
|
||||||
|
WebElement breadcrumb_link = webDriver.findElement(By.xpath(xpath));
|
||||||
|
breadcrumb_link.click();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(9)
|
@Order(9)
|
||||||
public void checkVersion() throws InterruptedException {
|
public void checkVersion() throws InterruptedException {
|
||||||
|
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||||
openExplorePage();
|
openExplorePage();
|
||||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
int counter = 1;
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='version-button']"));
|
Events.click(webDriver, explorePage.topics());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='closeDrawer']"));
|
Events.click(webDriver, explorePage.selectTable());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
Events.click(webDriver, common.version());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
List<WebElement> versionRadioButton = common.versionRadioButton();
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
for (WebElement e : versionRadioButton) {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='version-button']"));
|
counter = counter + 1;
|
||||||
Events.click(webDriver, By.xpath("(//span[@data-testid='select-version'])[2]"));
|
if (counter == versionRadioButton.size()) {
|
||||||
Events.click(webDriver, By.xpath("(//span[@data-testid='select-version'])[1]"));
|
break;
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='closeDrawer']"));
|
}
|
||||||
|
e.click();
|
||||||
|
Thread.sleep(waitTime);
|
||||||
|
Assert.assertTrue(webDriver.findElement(common.difference()).isDisplayed());
|
||||||
|
((JavascriptExecutor) webDriver).executeScript("arguments[0].scrollIntoView(true);", e);
|
||||||
|
}
|
||||||
|
Events.click(webDriver, common.version());
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
|
Loading…
x
Reference in New Issue
Block a user