mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-22 16:08:13 +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;
|
||||
|
||||
import java.util.List;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
|
||||
public class Common {
|
||||
WebDriver webDriver;
|
||||
@ -21,7 +23,7 @@ public class Common {
|
||||
By editDescriptionSaveButton = By.cssSelector("[data-testid='save']");
|
||||
By closeWhatsNew = By.cssSelector("[data-testid='closeWhatsNew']");
|
||||
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 addServiceButton = By.cssSelector("[data-testid='add-service-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 editLineageButton = By.cssSelector("[data-testid='edit-lineage']");
|
||||
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() {
|
||||
return displayName;
|
||||
@ -306,4 +372,24 @@ public class Common {
|
||||
public By overviewFilterCount(String entity) {
|
||||
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;
|
||||
}
|
||||
|
||||
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 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 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 config = By.xpath("(//button[@data-testid = \"tab\"])[2]");
|
||||
By manage = By.xpath("(//button[@data-testid = \"tab\"])[3]");
|
||||
By topicName = By.linkText("orders");
|
||||
|
||||
public By addTag() {
|
||||
return addTag;
|
||||
@ -34,8 +35,8 @@ public class TopicDetails {
|
||||
return webDriver.findElements(selectedTag);
|
||||
}
|
||||
|
||||
public List<WebElement> breadCrumbTag() {
|
||||
return webDriver.findElements(breadCrumbTags);
|
||||
public By breadCrumbTag() {
|
||||
return breadCrumbTags;
|
||||
}
|
||||
|
||||
public By editDescriptionButton() {
|
||||
@ -49,4 +50,8 @@ public class TopicDetails {
|
||||
public By manage() {
|
||||
return manage;
|
||||
}
|
||||
|
||||
public By topicName() {
|
||||
return topicName;
|
||||
}
|
||||
}
|
||||
|
@ -160,13 +160,13 @@ public class TableDetailsPageTest {
|
||||
@Order(6)
|
||||
void removeTags() {
|
||||
openExplorePage();
|
||||
List<WebElement> tagDisplayed = topicDetails.breadCrumbTag();
|
||||
List<WebElement> tagDisplayed = webDriver.findElements(topicDetails.breadCrumbTag());
|
||||
Events.click(webDriver, explorePage.selectTable());
|
||||
Events.click(webDriver, tableDetails.tagName());
|
||||
Events.click(webDriver, tableDetails.removeTag());
|
||||
Events.click(webDriver, tableDetails.saveTag());
|
||||
webDriver.navigate().refresh();
|
||||
List<WebElement> updatedTags = topicDetails.breadCrumbTag();
|
||||
List<WebElement> updatedTags = webDriver.findElements(topicDetails.breadCrumbTag());
|
||||
if (updatedTags.contains(tagDisplayed.get(1))) {
|
||||
Assert.fail("Selected Tag is not removed");
|
||||
} else {
|
||||
|
@ -16,21 +16,18 @@ package org.openmetadata.catalog.selenium.pages.topicDetails;
|
||||
import com.github.javafaker.Faker;
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.MethodOrderer;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
import org.junit.jupiter.api.*;
|
||||
import org.openmetadata.catalog.selenium.events.Events;
|
||||
import org.openmetadata.catalog.selenium.objectRepository.*;
|
||||
import org.openmetadata.catalog.selenium.properties.Property;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.*;
|
||||
import org.openqa.selenium.chrome.ChromeDriver;
|
||||
import org.openqa.selenium.chrome.ChromeOptions;
|
||||
import org.openqa.selenium.interactions.Actions;
|
||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.testng.Assert;
|
||||
|
||||
@Order(7)
|
||||
@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 Actions actions;
|
||||
static WebDriverWait wait;
|
||||
static String topic = "orders";
|
||||
Integer waitTime = Property.getInstance().getSleepTime();
|
||||
String webDriverInstance = Property.getInstance().getWebDriver();
|
||||
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
|
||||
public void openMetadataWindow() {
|
||||
@ -51,7 +58,11 @@ public class TopicDetailsPageTest {
|
||||
ChromeOptions options = new ChromeOptions();
|
||||
options.addArguments("--headless");
|
||||
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);
|
||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
||||
webDriver.manage().window().maximize();
|
||||
@ -60,176 +71,170 @@ public class TopicDetailsPageTest {
|
||||
|
||||
@Test
|
||||
@Order(1)
|
||||
public void openExplorePage() throws InterruptedException {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]")); // Topics
|
||||
Thread.sleep(waitTime);
|
||||
void openExplorePage() throws InterruptedException {
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Events.click(webDriver, explorePage.explore());
|
||||
Thread.sleep(3000);
|
||||
if (webDriver.findElement(common.getTableCount()).isDisplayed()) {
|
||||
LOG.info("Passed");
|
||||
} else {
|
||||
Assert.fail();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(2)
|
||||
public void checkTabs() throws InterruptedException {
|
||||
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
|
||||
Events.sendKeys(webDriver, common.getSearchBox(), topic);
|
||||
Events.click(webDriver, topicDetails.topicName());
|
||||
Events.click(webDriver, topicDetails.config());
|
||||
Events.click(webDriver, common.manage());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(3)
|
||||
public void checkFollow() throws InterruptedException {
|
||||
void checkFollow() throws InterruptedException {
|
||||
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
|
||||
Events.sendKeys(webDriver, common.getSearchBox(), topic);
|
||||
Events.click(webDriver, topicDetails.topicName());
|
||||
String follow = webDriver.findElement(common.clickFollow()).getText();
|
||||
if (follow.equals("Unfollow")) {
|
||||
Events.click(webDriver, common.clickFollow());
|
||||
Events.click(webDriver, common.clickFollow());
|
||||
} else {
|
||||
Events.click(webDriver, common.clickFollow());
|
||||
}
|
||||
Events.click(webDriver, myDataPage.clickHome());
|
||||
String tableName = webDriver.findElement(myDataPage.following()).getText();
|
||||
Assert.assertEquals(tableName, "Started following " + topic);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(4)
|
||||
public void addTags() throws InterruptedException {
|
||||
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tags']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
|
||||
for (int i = 0; i <= 1; i++) {
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "P");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
||||
String[] selectedTag = new String[3];
|
||||
Events.click(webDriver, explorePage.topics());
|
||||
Events.click(webDriver, explorePage.selectTable());
|
||||
Events.click(webDriver, topicDetails.addTag());
|
||||
Events.click(webDriver, common.enterAssociatedTagName());
|
||||
for (int i = 0; i < 3; i++) {
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "P");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
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
|
||||
@Order(5)
|
||||
public void removeTag() throws InterruptedException {
|
||||
void removeTags() throws InterruptedException {
|
||||
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[1]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tag-conatiner']"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
||||
Events.click(webDriver, explorePage.topics());
|
||||
Events.click(webDriver, explorePage.selectTable());
|
||||
List<WebElement> tagDisplayed = webDriver.findElements(topicDetails.breadCrumbTag());
|
||||
Events.click(webDriver, topicDetails.addTag());
|
||||
Events.click(webDriver, common.removeAssociatedTag());
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
webDriver.navigate().refresh();
|
||||
List<WebElement> updatedTags = webDriver.findElements(topicDetails.breadCrumbTag());
|
||||
if (updatedTags.get(1).equals(tagDisplayed.get(1))) {
|
||||
Assert.fail("Selected Tag is not removed");
|
||||
} else {
|
||||
LOG.info("Passed");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(6)
|
||||
public void editDescription() throws InterruptedException {
|
||||
void editDescription() throws InterruptedException {
|
||||
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||
openExplorePage();
|
||||
String editDescription = faker.address().toString();
|
||||
String updateDescription = faker.address().toString();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), editDescription);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
||||
Events.click(webDriver, explorePage.topics());
|
||||
Events.click(webDriver, explorePage.selectTable());
|
||||
Events.click(webDriver, common.editDescriptionButton());
|
||||
Events.sendKeys(webDriver, common.editDescriptionBox(), Keys.CONTROL + "A");
|
||||
Events.sendKeys(webDriver, common.editDescriptionBox(), description);
|
||||
Events.click(webDriver, common.editDescriptionSaveButton());
|
||||
Thread.sleep(waitTime);
|
||||
webDriver.navigate().refresh();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='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']"));
|
||||
Events.click(webDriver, common.editDescriptionButton());
|
||||
Events.sendKeys(webDriver, common.editDescriptionBox(), Keys.CONTROL + "A");
|
||||
Events.sendKeys(webDriver, common.editDescriptionBox(), updatedDescription);
|
||||
Events.click(webDriver, common.editDescriptionSaveButton());
|
||||
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']"));
|
||||
String checkDescription = webDriver.findElement(common.descriptionContainer()).getText();
|
||||
Assert.assertEquals(checkDescription, updatedDescription);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(7)
|
||||
public void checkManage() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='card-list']")); // Select Tier
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveManageTab']")); // Save
|
||||
webDriver.navigate().back();
|
||||
webDriver.navigate().refresh();
|
||||
Events.click(webDriver, explorePage.topics());
|
||||
Events.click(webDriver, explorePage.selectTable());
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, common.manage());
|
||||
Events.click(webDriver, common.ownerDropdown());
|
||||
Events.click(webDriver, common.clickUsers());
|
||||
Events.click(webDriver, common.selectUser());
|
||||
Events.click(webDriver, common.selectTier1());
|
||||
Events.click(webDriver, common.saveManage());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(8)
|
||||
public void checkBreadCrumb() throws InterruptedException {
|
||||
void checkBreadCrumb() throws Exception {
|
||||
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||
openExplorePage();
|
||||
String editDescription = faker.address().toString();
|
||||
String updateDescription = faker.address().toString();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='breadcrumb-link']")));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='breadcrumb-link']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='edit-description']")));
|
||||
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();
|
||||
Events.click(webDriver, explorePage.topics());
|
||||
Events.click(webDriver, explorePage.selectTable());
|
||||
List<WebElement> br = common.breadCrumb();
|
||||
// Using for loop to check breadcrumb links
|
||||
// Since after navigating back we are facing StaleElementException using try catch block.
|
||||
for (WebElement link : br) {
|
||||
try {
|
||||
link.click();
|
||||
webDriver.navigate().back();
|
||||
} catch (StaleElementReferenceException ex) {
|
||||
WebElement breadcrumb_link = webDriver.findElement(By.xpath(xpath));
|
||||
breadcrumb_link.click();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(9)
|
||||
public void checkVersion() throws InterruptedException {
|
||||
webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='version-button']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeDrawer']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='version-button']"));
|
||||
Events.click(webDriver, By.xpath("(//span[@data-testid='select-version'])[2]"));
|
||||
Events.click(webDriver, By.xpath("(//span[@data-testid='select-version'])[1]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeDrawer']"));
|
||||
int counter = 1;
|
||||
Events.click(webDriver, explorePage.topics());
|
||||
Events.click(webDriver, explorePage.selectTable());
|
||||
Events.click(webDriver, common.version());
|
||||
List<WebElement> versionRadioButton = common.versionRadioButton();
|
||||
for (WebElement e : versionRadioButton) {
|
||||
counter = counter + 1;
|
||||
if (counter == versionRadioButton.size()) {
|
||||
break;
|
||||
}
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user