mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-10-29 01:32:01 +00:00
revamped common tests in selenium (#2616)
This commit is contained in:
parent
de6a06b013
commit
d3f34c9490
@ -46,6 +46,17 @@ public class Common {
|
||||
By serviceUrl = By.cssSelector("[data-testid='url']");
|
||||
By servicePort = By.cssSelector("[data-testid='port']");
|
||||
By databaseName = By.cssSelector("[data-testid='database']");
|
||||
By addTagCategory = By.cssSelector("[data-testid='add-category']");
|
||||
By addTagButton = By.cssSelector("[data-testid='add-new-tag-button']");
|
||||
By tagCount = By.xpath("//div[@data-testid='tag-conatiner']/div/div");
|
||||
By errorMessage = By.cssSelector("[data-testid='error-message']");
|
||||
By matchesInDescription = By.xpath("(//div[@data-testid='matches-stats'][1])/span[3]");
|
||||
By tagCountSearch = By.xpath("(//div[@data-testid='description-text'][1])/div/p/span");
|
||||
By tagFilterCount = By.xpath("//div[@data-testid='filter-containers-2']/div");
|
||||
By noSearchResult = By.cssSelector("[data-testid='no-search-results']");
|
||||
By resultsCount = By.xpath("//div[@data-testid='search-container']/div");
|
||||
By matchesStats = By.cssSelector("[data-testid='matches-stats']");
|
||||
By editLineageButton = By.cssSelector("[data-testid='edit-lineage']");
|
||||
|
||||
public By displayName() {
|
||||
return displayName;
|
||||
@ -234,4 +245,52 @@ public class Common {
|
||||
public By databaseName() {
|
||||
return databaseName;
|
||||
}
|
||||
|
||||
public By addTagCategory() {
|
||||
return addTagCategory;
|
||||
}
|
||||
|
||||
public By addTagButton() {
|
||||
return addTagButton;
|
||||
}
|
||||
|
||||
public By tagCount() {
|
||||
return tagCount;
|
||||
}
|
||||
|
||||
public By errorMessage() {
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
public By matchesInDescription() {
|
||||
return matchesInDescription;
|
||||
}
|
||||
|
||||
public By tagCountSearch() {
|
||||
return tagCountSearch;
|
||||
}
|
||||
|
||||
public By tourNavigationArrow(String arrow) {
|
||||
return By.cssSelector("[data-tour-elem='" + arrow + "']");
|
||||
}
|
||||
|
||||
public By tagFilterCount() {
|
||||
return tagFilterCount;
|
||||
}
|
||||
|
||||
public By noSearchResult() {
|
||||
return noSearchResult;
|
||||
}
|
||||
|
||||
public By resultsCount() {
|
||||
return resultsCount;
|
||||
}
|
||||
|
||||
public By matchesStats() {
|
||||
return matchesStats;
|
||||
}
|
||||
|
||||
public By editLineageButton() {
|
||||
return editLineageButton;
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,7 +24,6 @@ public class TagsPage {
|
||||
}
|
||||
|
||||
By closeWhatsNew = By.cssSelector("[data-testid='closeWhatsNew']");
|
||||
By addTagCategory = By.cssSelector("[data-testid='add-category']");
|
||||
By addTagButton = By.cssSelector("[data-testid='add-new-tag-button']");
|
||||
By editTagDescription = By.cssSelector("[data-testid='editTagDescription']");
|
||||
By addAssociatedTagButton = By.cssSelector("[data-testid='tags']");
|
||||
@ -36,10 +35,6 @@ public class TagsPage {
|
||||
By headerSettingsTags = By.cssSelector("[data-testid='menu-item-Tags']");
|
||||
By sortBy = By.cssSelector("[data-testid='sortBy']");
|
||||
|
||||
public By addTagCategory() {
|
||||
return addTagCategory;
|
||||
}
|
||||
|
||||
public By addTagButton() {
|
||||
return addTagButton;
|
||||
}
|
||||
|
||||
@ -28,8 +28,8 @@ 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.objectRepository.Common;
|
||||
import org.openmetadata.catalog.selenium.properties.Property;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.NoSuchElementException;
|
||||
import org.openqa.selenium.TimeoutException;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
@ -48,14 +48,14 @@ public class CommonTests {
|
||||
private static final Logger LOG = Logger.getLogger(CommonTests.class.getName());
|
||||
|
||||
static WebDriver webDriver;
|
||||
static Common common;
|
||||
static Actions actions;
|
||||
static Faker faker = new Faker();
|
||||
static String tagCategoryDisplayName = faker.name().firstName();
|
||||
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
|
||||
static WebDriverWait wait;
|
||||
Integer waitTime = Property.getInstance().getSleepTime();
|
||||
static String url = Property.getInstance().getURL();
|
||||
static String urlTag = "/api/v1/tags/";
|
||||
Integer waitTime = Property.getInstance().getSleepTime();
|
||||
String tableName = "dim_address";
|
||||
String webDriverInstance = Property.getInstance().getWebDriver();
|
||||
String webDriverPath = Property.getInstance().getWebDriverPath();
|
||||
@ -67,6 +67,7 @@ public class CommonTests {
|
||||
options.addArguments("--headless");
|
||||
options.addArguments("--window-size=1280,800");
|
||||
webDriver = new ChromeDriver(options);
|
||||
common = new Common(webDriver);
|
||||
actions = new Actions(webDriver);
|
||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
||||
webDriver.manage().window().maximize();
|
||||
@ -74,7 +75,7 @@ public class CommonTests {
|
||||
}
|
||||
|
||||
public void openHomePage() throws InterruptedException {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, common.closeWhatsNew()); // Close What's new
|
||||
Thread.sleep(waitTime);
|
||||
}
|
||||
|
||||
@ -82,21 +83,20 @@ public class CommonTests {
|
||||
@Order(1)
|
||||
public void tagDuplicationCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "dim_location");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
|
||||
Events.click(webDriver, common.selectOverview("tables"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "dim_location");
|
||||
Events.click(webDriver, common.searchSuggestion());
|
||||
Thread.sleep(waitTime);
|
||||
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span"))).perform();
|
||||
Events.click(webDriver, By.xpath("//div[@data-testid='tag-conatiner']//span"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "PersonalData.Personal");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "User.FacePhoto");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
||||
actions.moveToElement(webDriver.findElement(common.editAssociatedTagButton())).perform();
|
||||
Events.click(webDriver, common.editAssociatedTagButton());
|
||||
Events.click(webDriver, common.enterAssociatedTagName());
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "PersonalData.Personal");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "User.FacePhoto");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
Thread.sleep(2000);
|
||||
Object tagCount =
|
||||
webDriver.findElements(By.xpath("//*[text()[contains(.,'" + "#PersonalData.Personal" + "')]] ")).size();
|
||||
Object tagCount = webDriver.findElements(common.containsText("#PersonalData.Personal")).size();
|
||||
Assert.assertEquals(tagCount, 2);
|
||||
}
|
||||
|
||||
@ -104,20 +104,20 @@ public class CommonTests {
|
||||
@Order(2)
|
||||
public void addTagWithSpaceCheck() throws InterruptedException, IOException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-category']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(webDriver.findElement(By.name("name"))));
|
||||
Events.sendKeys(webDriver, By.name("name"), tagCategoryDisplayName);
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
|
||||
Events.click(webDriver, common.headerSettings()); // Setting
|
||||
Events.click(webDriver, common.headerSettingsMenu("Tags")); // Setting/Tags
|
||||
Events.click(webDriver, common.addTagCategory());
|
||||
wait.until(ExpectedConditions.elementToBeClickable(webDriver.findElement(common.displayName())));
|
||||
Events.sendKeys(webDriver, common.displayName(), tagCategoryDisplayName);
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.saveEditedService());
|
||||
webDriver.navigate().refresh();
|
||||
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + tagCategoryDisplayName + "')]] "));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-new-tag-button']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(By.name("name")));
|
||||
Events.sendKeys(webDriver, By.name("name"), "Testing Tag");
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
|
||||
Events.click(webDriver, common.containsText(tagCategoryDisplayName));
|
||||
Events.click(webDriver, common.addTagButton());
|
||||
wait.until(ExpectedConditions.elementToBeClickable(common.displayName()));
|
||||
Events.sendKeys(webDriver, common.displayName(), "Testing Tag");
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.saveEditedService());
|
||||
URL tagUrl = new URL(url + urlTag + tagCategoryDisplayName + "/");
|
||||
HttpURLConnection http = (HttpURLConnection) tagUrl.openConnection();
|
||||
http.setRequestMethod("HEAD");
|
||||
@ -129,13 +129,13 @@ public class CommonTests {
|
||||
@Order(3)
|
||||
public void addTagCategoryWithSpaceCheck() throws InterruptedException, IOException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-category']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(webDriver.findElement(By.name("name"))));
|
||||
Events.sendKeys(webDriver, By.name("name"), "Space Tag");
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
|
||||
Events.click(webDriver, common.headerSettings()); // Setting
|
||||
Events.click(webDriver, common.headerSettingsMenu("Tags")); // Setting/Tags
|
||||
Events.click(webDriver, common.addTagCategory());
|
||||
wait.until(ExpectedConditions.elementToBeClickable(webDriver.findElement(common.displayName())));
|
||||
Events.sendKeys(webDriver, common.displayName(), "Space Tag");
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.saveEditedService());
|
||||
webDriver.navigate().refresh();
|
||||
URL tagUrl = new URL(url + urlTag);
|
||||
HttpURLConnection http = (HttpURLConnection) tagUrl.openConnection();
|
||||
@ -148,24 +148,31 @@ public class CommonTests {
|
||||
@Order(4)
|
||||
public void onlySpaceAsNameForServiceCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='service']")); // Service
|
||||
Events.click(webDriver, common.selectOverview("service"));
|
||||
Thread.sleep(2000);
|
||||
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
|
||||
List<WebElement> webElementList = webDriver.findElements(common.noServicesAddServiceButton());
|
||||
if (webElementList.isEmpty()) {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
|
||||
Events.click(webDriver, common.addServiceButton());
|
||||
} else {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
|
||||
Events.click(webDriver, common.noServicesAddServiceButton());
|
||||
}
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='selectService']"));
|
||||
Events.click(webDriver, By.cssSelector("[value='MySQL']"));
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), " ");
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='url']"), "localhost:3306");
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='database']"), "openmetadata_db");
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
||||
Events.click(webDriver, common.serviceType("MySQL"));
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.sendKeys(webDriver, common.serviceName(), " ");
|
||||
Events.click(webDriver, common.descriptionBoldButton());
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.sendKeys(webDriver, common.serviceUrl(), "localhost");
|
||||
Events.sendKeys(webDriver, common.servicePort(), "3306");
|
||||
Events.sendKeys(webDriver, common.serviceUsername(), "openmetadata_user");
|
||||
Events.sendKeys(webDriver, common.servicePassword(), "openmetadata_password");
|
||||
Events.sendKeys(webDriver, common.databaseName(), "openmetadata_db");
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.click(webDriver, common.saveServiceButton());
|
||||
webDriver.navigate().refresh();
|
||||
try {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-" + " " + "']"));
|
||||
Events.click(webDriver, common.deleteServiceButton(" "));
|
||||
} catch (TimeoutException exception) {
|
||||
LOG.info("Success");
|
||||
}
|
||||
@ -175,19 +182,19 @@ public class CommonTests {
|
||||
@Order(5)
|
||||
public void addMultipleTagsCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "raw_product_catalog");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='bigquery_gcpshopifyraw_product_catalog']"));
|
||||
Events.click(webDriver, By.xpath("//div[@data-testid='tag-conatiner']//span"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "raw_product_catalog");
|
||||
Events.click(webDriver, common.selectSuggestionSearch("bigquery_gcpshopifyraw_product_catalog"));
|
||||
Events.click(webDriver, common.editAssociatedTagButton());
|
||||
Events.click(webDriver, common.enterAssociatedTagName());
|
||||
for (int i = 0; i <= 10; i++) {
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "P");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "P");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
Thread.sleep(waitTime);
|
||||
}
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
webDriver.navigate().refresh();
|
||||
Thread.sleep(2000);
|
||||
Object tagCount = webDriver.findElements(By.xpath("//div[@data-testid='tag-conatiner']/div/div")).size();
|
||||
Object tagCount = webDriver.findElements(common.tagCount()).size();
|
||||
Assert.assertEquals(tagCount, 11);
|
||||
}
|
||||
|
||||
@ -195,15 +202,14 @@ public class CommonTests {
|
||||
@Order(6)
|
||||
public void sameNameTagCategoryUIMessageCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-category']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(By.name("name")));
|
||||
Events.sendKeys(webDriver, By.name("name"), "personalData");
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
|
||||
String errorMessage =
|
||||
webDriver.findElement(By.cssSelector("[data-testid='error-message']")).getAttribute("innerHTML");
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, common.headerSettingsMenu("Tags"));
|
||||
Events.click(webDriver, common.addTagCategory());
|
||||
wait.until(ExpectedConditions.elementToBeClickable(common.displayName()));
|
||||
Events.sendKeys(webDriver, common.displayName(), "personalData");
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.descriptionSaveButton());
|
||||
String errorMessage = webDriver.findElement(common.errorMessage()).getAttribute("innerHTML");
|
||||
Thread.sleep(2000);
|
||||
Assert.assertEquals(errorMessage, "Name already exists");
|
||||
}
|
||||
@ -212,16 +218,15 @@ public class CommonTests {
|
||||
@Order(7)
|
||||
public void sameNameTagUIMessageCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
|
||||
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "PersonalData" + "')]] "));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-new-tag-button']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(By.name("name")));
|
||||
Events.sendKeys(webDriver, By.name("name"), "personal");
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
|
||||
String errorMessage =
|
||||
webDriver.findElement(By.cssSelector("[data-testid='error-message']")).getAttribute("innerHTML");
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, common.headerSettingsMenu("Tags"));
|
||||
Events.click(webDriver, common.containsText("PersonalData"));
|
||||
Events.click(webDriver, common.noServicesAddServiceButton());
|
||||
wait.until(ExpectedConditions.elementToBeClickable(common.displayName()));
|
||||
Events.sendKeys(webDriver, common.displayName(), "personal");
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.descriptionSaveButton());
|
||||
String errorMessage = webDriver.findElement(common.errorMessage()).getAttribute("innerHTML");
|
||||
Thread.sleep(2000);
|
||||
Assert.assertEquals(errorMessage, "Name already exists");
|
||||
}
|
||||
@ -230,15 +235,14 @@ public class CommonTests {
|
||||
@Order(8)
|
||||
public void shortTagCategoryNameUIMessageCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-category']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(By.name("name")));
|
||||
Events.sendKeys(webDriver, By.name("name"), "P");
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
|
||||
String errorMessage =
|
||||
webDriver.findElement(By.cssSelector("[data-testid='error-message']")).getAttribute("innerHTML");
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, common.headerSettingsMenu("Tags"));
|
||||
Events.click(webDriver, common.addTagCategory());
|
||||
wait.until(ExpectedConditions.elementToBeClickable(common.displayName()));
|
||||
Events.sendKeys(webDriver, common.displayName(), "P");
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.descriptionSaveButton());
|
||||
String errorMessage = webDriver.findElement(common.errorMessage()).getAttribute("innerHTML");
|
||||
Thread.sleep(2000);
|
||||
Assert.assertEquals(errorMessage, "Name size must be between 2 and 25");
|
||||
}
|
||||
@ -247,15 +251,14 @@ public class CommonTests {
|
||||
@Order(9)
|
||||
public void longTagCategoryNameUIMessageCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-category']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(By.name("name")));
|
||||
Events.sendKeys(webDriver, By.name("name"), "PersonalData-DataPlatform-PersonalData");
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
|
||||
String errorMessage =
|
||||
webDriver.findElement(By.cssSelector("[data-testid='error-message']")).getAttribute("innerHTML");
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, common.headerSettingsMenu("Tags"));
|
||||
Events.click(webDriver, common.addTagCategory());
|
||||
wait.until(ExpectedConditions.elementToBeClickable(common.displayName()));
|
||||
Events.sendKeys(webDriver, common.displayName(), "PersonalData-DataPlatform-PersonalData");
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.descriptionSaveButton());
|
||||
String errorMessage = webDriver.findElement(common.errorMessage()).getAttribute("innerHTML");
|
||||
Thread.sleep(2000);
|
||||
Assert.assertEquals(errorMessage, "Name size must be between 2 and 25");
|
||||
}
|
||||
@ -264,16 +267,15 @@ public class CommonTests {
|
||||
@Order(10)
|
||||
public void shortTagNameUIMessageCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
|
||||
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "PersonalData" + "')]] "));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-new-tag-button']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(By.name("name")));
|
||||
Events.sendKeys(webDriver, By.name("name"), "P");
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
|
||||
String errorMessage =
|
||||
webDriver.findElement(By.cssSelector("[data-testid='error-message']")).getAttribute("innerHTML");
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, common.headerSettingsMenu("Tags"));
|
||||
Events.click(webDriver, common.containsText("PersonalData"));
|
||||
Events.click(webDriver, common.addTagButton());
|
||||
wait.until(ExpectedConditions.elementToBeClickable(common.displayName()));
|
||||
Events.sendKeys(webDriver, common.displayName(), "P");
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.descriptionSaveButton());
|
||||
String errorMessage = webDriver.findElement(common.errorMessage()).getAttribute("innerHTML");
|
||||
Thread.sleep(2000);
|
||||
Assert.assertEquals(errorMessage, "Name size must be between 2 and 25");
|
||||
}
|
||||
@ -282,16 +284,15 @@ public class CommonTests {
|
||||
@Order(11)
|
||||
public void longTagNameUIMessageCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
|
||||
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "PersonalData" + "')]] "));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-new-tag-button']"));
|
||||
wait.until(ExpectedConditions.elementToBeClickable(By.name("name")));
|
||||
Events.sendKeys(webDriver, By.name("name"), "P");
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
|
||||
String errorMessage =
|
||||
webDriver.findElement(By.cssSelector("[data-testid='error-message']")).getAttribute("innerHTML");
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, common.headerSettingsMenu("Tags"));
|
||||
Events.click(webDriver, common.containsText("PersonalData"));
|
||||
Events.click(webDriver, common.addTagButton());
|
||||
wait.until(ExpectedConditions.elementToBeClickable(common.displayName()));
|
||||
Events.sendKeys(webDriver, common.displayName(), "PersonalData-DataPlatform-PersonalData");
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.descriptionSaveButton());
|
||||
String errorMessage = webDriver.findElement(common.errorMessage()).getAttribute("innerHTML");
|
||||
Thread.sleep(2000);
|
||||
Assert.assertEquals(errorMessage, "Name size must be between 2 and 25");
|
||||
}
|
||||
@ -300,14 +301,12 @@ public class CommonTests {
|
||||
@Order(12)
|
||||
public void searchMatchesCountCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.sendKeys(webDriver, By.cssSelector("[id='searchBox']"), "address"); // Search bar/dim
|
||||
Events.sendEnter(webDriver, By.cssSelector("[id='searchBox']"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "address"); // Search bar/dim
|
||||
Events.sendEnter(webDriver, common.searchBar());
|
||||
Thread.sleep(2000);
|
||||
Object tagCount =
|
||||
webDriver.findElements(By.xpath("(//div[@data-testid='description-text'][1])/div/p/span")).size() - 1;
|
||||
Object tagCount = webDriver.findElements(common.tagCountSearch()).size() - 1;
|
||||
Thread.sleep(2000);
|
||||
String matchesInDescription =
|
||||
webDriver.findElement(By.xpath("(//div[@data-testid='matches-stats'][1])/span[3]")).getAttribute("innerHTML");
|
||||
String matchesInDescription = webDriver.findElement(common.matchesInDescription()).getAttribute("innerHTML");
|
||||
Assert.assertEquals((tagCount + " in Description,"), matchesInDescription);
|
||||
}
|
||||
|
||||
@ -315,9 +314,9 @@ public class CommonTests {
|
||||
@Order(13)
|
||||
public void overviewLinksAfterTour() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tour']"));
|
||||
Events.click(webDriver, common.selectOverview("tour"));
|
||||
webDriver.navigate().back();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
|
||||
Events.click(webDriver, common.selectOverview("tables"));
|
||||
String tablesUrl = webDriver.getCurrentUrl();
|
||||
Assert.assertEquals(tablesUrl, url + "/explore/tables/");
|
||||
}
|
||||
@ -326,38 +325,38 @@ public class CommonTests {
|
||||
@Order(14)
|
||||
public void tourStepSkippingCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tour']"));
|
||||
Events.click(webDriver, common.selectOverview("tour"));
|
||||
for (int i = 0; i < 2; i++) {
|
||||
Events.click(webDriver, By.cssSelector("[data-tour-elem='right-arrow']"));
|
||||
Events.click(webDriver, common.tourNavigationArrow("right-arrow"));
|
||||
}
|
||||
Events.sendKeys(webDriver, By.cssSelector("[id='searchBox']"), "dim_a"); // Search bar/dim
|
||||
Events.sendEnter(webDriver, By.cssSelector("[id='searchBox']"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "dim_a"); // Search bar/dim
|
||||
Events.sendEnter(webDriver, common.searchBar()); // Search bar/dim
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(15)
|
||||
public void tagFilterCountCheck() throws InterruptedException {
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), tableName);
|
||||
Events.click(webDriver, common.searchSuggestion());
|
||||
Thread.sleep(waitTime);
|
||||
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span"))).perform();
|
||||
Events.click(webDriver, By.xpath("//div[@data-testid='tag-conatiner']//span"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
|
||||
actions.moveToElement(webDriver.findElement(common.editAssociatedTagButton())).perform();
|
||||
Events.click(webDriver, common.editAssociatedTagButton());
|
||||
Events.click(webDriver, common.enterAssociatedTagName());
|
||||
for (int i = 0; i <= 8; i++) {
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "P");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "P");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
}
|
||||
for (int i = 0; i <= 5; i++) {
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "U");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "U");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
}
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
Thread.sleep(2000);
|
||||
Object tagsCount = webDriver.findElements(By.xpath("//div[@data-testid='tag-conatiner']/div/div")).size() - 1;
|
||||
Object tagsCount = webDriver.findElements(common.tagCount()).size() - 1;
|
||||
Thread.sleep(2000);
|
||||
webDriver.navigate().back();
|
||||
Thread.sleep(2000);
|
||||
Object tagsFilterCount = webDriver.findElements(By.xpath("//div[@data-testid='filter-containers-2']/div")).size();
|
||||
Object tagsFilterCount = webDriver.findElements(common.tagFilterCount()).size();
|
||||
Assert.assertEquals(tagsFilterCount.toString(), tagsCount.toString());
|
||||
}
|
||||
|
||||
@ -365,19 +364,16 @@ public class CommonTests {
|
||||
@Order(16)
|
||||
public void differentSearchDifferentResultCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "!");
|
||||
Events.sendEnter(webDriver, By.cssSelector("[id='searchBox']"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "!");
|
||||
Events.sendEnter(webDriver, common.searchBar());
|
||||
Thread.sleep(2000);
|
||||
String search1 =
|
||||
webDriver.findElement(By.cssSelector("[data-testid='no-search-results']")).getAttribute("innerHTML");
|
||||
String search1 = webDriver.findElement(common.noSearchResult()).getAttribute("innerHTML");
|
||||
Assert.assertEquals(search1, "No matching data assets found for !");
|
||||
webDriver.navigate().back();
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "{");
|
||||
Events.sendEnter(webDriver, By.cssSelector("[id='searchBox']"));
|
||||
Thread.sleep(2000);
|
||||
Events.sendKeys(webDriver, common.searchBar(), "{");
|
||||
Events.sendEnter(webDriver, common.searchBar());
|
||||
try {
|
||||
String search2 =
|
||||
webDriver.findElement(By.cssSelector("[data-testid='no-search-results']")).getAttribute("innerHTML");
|
||||
String search2 = webDriver.findElement(common.noSearchResult()).getAttribute("innerHTML");
|
||||
Assert.assertEquals(search2, "No matching data assets found for {");
|
||||
} catch (NoSuchElementException exception) {
|
||||
LOG.info("Search results are not similar for no data found!");
|
||||
@ -388,12 +384,11 @@ public class CommonTests {
|
||||
@Order(17)
|
||||
public void missingMatchesForSearchCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='dashboards']")); // Dashboards
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "sales");
|
||||
Events.sendEnter(webDriver, By.cssSelector("[id='searchBox']"));
|
||||
String resultsCount =
|
||||
webDriver.findElement(By.xpath("//div[@data-testid='search-container']/div")).getAttribute("innerHTML");
|
||||
Object matchesCount = webDriver.findElements(By.cssSelector("[data-testid='matches-stats']")).size();
|
||||
Events.click(webDriver, common.selectOverview("dashboards"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "sales");
|
||||
Events.sendEnter(webDriver, common.searchBar());
|
||||
String resultsCount = webDriver.findElement(common.resultsCount()).getAttribute("innerHTML");
|
||||
Object matchesCount = webDriver.findElements(common.matchesStats()).size();
|
||||
Assert.assertEquals(matchesCount + " results", resultsCount);
|
||||
}
|
||||
|
||||
@ -401,23 +396,22 @@ public class CommonTests {
|
||||
@Order(18)
|
||||
public void sameNodesLineage() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "dim_product_variant");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "dim_product_variant");
|
||||
Events.click(webDriver, common.searchSuggestion());
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-lineage']"));
|
||||
Events.click(webDriver, common.entityTabIndex(4));
|
||||
Events.click(webDriver, common.editLineageButton());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(19)
|
||||
public void searchNotShowingResultsCheck() throws InterruptedException {
|
||||
openHomePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='pipelines']"));
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "sample");
|
||||
Events.sendEnter(webDriver, By.cssSelector("[id='searchBox']"));
|
||||
Events.click(webDriver, common.selectOverview("pipelines"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "sample");
|
||||
Events.sendEnter(webDriver, common.searchBar());
|
||||
try {
|
||||
WebElement searchResult =
|
||||
wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("[data-testid='search-results']")));
|
||||
WebElement searchResult = wait.until(ExpectedConditions.presenceOfElementLocated(common.searchResults()));
|
||||
if (searchResult.isDisplayed()) {
|
||||
LOG.info("Success");
|
||||
}
|
||||
|
||||
@ -85,7 +85,7 @@ public class TagsPageTest {
|
||||
@Order(2)
|
||||
public void addTagCategory() throws InterruptedException {
|
||||
openTagsPage();
|
||||
Events.click(webDriver, tagsPage.addTagCategory());
|
||||
Events.click(webDriver, common.addTagCategory());
|
||||
Events.sendKeys(webDriver, common.displayName(), tagCategoryDisplayName);
|
||||
Events.click(webDriver, common.descriptionBoldButton());
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
@ -115,7 +115,7 @@ public class TagsPageTest {
|
||||
public void addTag() throws InterruptedException {
|
||||
openTagsPage();
|
||||
Events.click(webDriver, common.containsText(tagCategoryDisplayName));
|
||||
Events.click(webDriver, tagsPage.addTagButton());
|
||||
Events.click(webDriver, common.addTagButton());
|
||||
Events.sendKeys(webDriver, common.displayName(), tagDisplayName);
|
||||
Events.click(webDriver, common.descriptionBoldButton());
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
@ -217,7 +217,7 @@ public class TagsPageTest {
|
||||
public void addTagWithExistingName() throws InterruptedException {
|
||||
openTagsPage();
|
||||
Events.click(webDriver, common.containsText("PersonalData"));
|
||||
Events.click(webDriver, tagsPage.addTagButton());
|
||||
Events.click(webDriver, common.addTagButton());
|
||||
Events.sendKeys(webDriver, common.displayName(), "Personals");
|
||||
Events.click(webDriver, common.descriptionSaveButton());
|
||||
Events.click(webDriver, common.headerItem("explore"));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user