optimizing selenium tests (#1228)

* optimizing selenium tests

* addressing reviewdog findings

* addressing reviewdog findings
This commit is contained in:
parthp2107 2021-11-18 11:49:14 +05:30 committed by GitHub
parent bddda0e1bd
commit 63089bab56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 484 additions and 443 deletions

View File

@ -40,121 +40,132 @@ import java.util.List;
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class DashboardServiceTestPage {
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
Integer waitTime = Property.getInstance().getSleepTime();
static Faker faker = new Faker();
static String serviceName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
static Faker faker = new Faker();
static String serviceName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
Integer waitTime = Property.getInstance().getSleepTime();
@BeforeEach
public void openMetadataWindow() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
webDriver.manage().window().maximize();
webDriver.get(url);
}
@BeforeEach
public void openMetadataWindow() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
webDriver.manage().window().maximize();
webDriver.get(url);
}
@Test
@Order(1)
public void openDashboardServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
Thread.sleep(waitTime);
}
@Test
@Order(1)
public void openDashboardServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
Thread.sleep(waitTime);
}
@Test
@Order(2)
public void addDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if(webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
}
Events.click(webDriver, By.cssSelector("[value='Looker']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='dashboard-url']"), "http://localhost:8080");
Events.sendKeys(webDriver, By.cssSelector("[data-testid='username']"), faker.name().firstName());
Events.sendKeys(webDriver, By.cssSelector("[data-testid='password']"), faker.name().firstName());
@Test
@Order(2)
public void addDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if (webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
}
Events.click(webDriver, By.cssSelector("[value='Looker']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='dashboard-url']"), "http://localhost:8080");
Events.sendKeys(webDriver, By.cssSelector("[data-testid='username']"), faker.name().firstName());
Events.sendKeys(webDriver, By.cssSelector("[data-testid='password']"), faker.name().firstName());
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(3)
public void editDashboardService() throws InterruptedException {
openDashboardServicePage();
Events.click(webDriver, By.xpath("(//button[@data-testid='edit-service'])[1]"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(4)
public void checkDashboardServiceDetails() throws InterruptedException {
openDashboardServicePage();
Events.click(webDriver, By.xpath("(//h6[@data-testid='service-name'])[1]"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
}
@Test
@Order(3)
public void editDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='edit-service']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(5)
public void searchDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
}
@Test
@Order(4)
public void checkDashboardServiceDetails() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
}
@Test
@Order(6)
public void deleteDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(5)
public void searchDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
}
@AfterEach
public void closeTabs() {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
String originalHandle = webDriver.getWindowHandle();
for (String handle : webDriver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
webDriver.switchTo().window(handle);
webDriver.close();
}
}
webDriver.switchTo().window(tabs.get(0)).close();
@Test
@Order(6)
public void deleteDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@AfterEach
public void closeTabs() {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
String originalHandle = webDriver.getWindowHandle();
for (String handle : webDriver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
webDriver.switchTo().window(handle);
webDriver.close();
}
}
webDriver.switchTo().window(tabs.get(0)).close();
}
}

View File

@ -41,124 +41,134 @@ import java.util.List;
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class DatabaseServicePageTest {
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
Integer waitTime = Property.getInstance().getSleepTime();
static Faker faker = new Faker();
static String serviceName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
static Faker faker = new Faker();
static String serviceName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
Integer waitTime = Property.getInstance().getSleepTime();
@BeforeEach
public void openMetadataWindow() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
webDriver.manage().window().maximize();
webDriver.get(url);
@BeforeEach
public void openMetadataWindow() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
webDriver.manage().window().maximize();
webDriver.get(url);
}
@Test
@Order(1)
public void openDatabaseServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector(
"[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Thread.sleep(waitTime);
}
@Test
@Order(2)
public void addDatabaseService() throws InterruptedException {
openDatabaseServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if (webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
}
Events.click(webDriver, By.cssSelector("[data-testid='selectService']"));
Events.click(webDriver, By.cssSelector("[value='MySQL']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='url']"), "localhost:3306");
Events.sendKeys(webDriver, By.cssSelector("[data-testid='database']"), "openmetadata_db");
@Test
@Order(1)
public void openDatabaseServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector(
"[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Thread.sleep(waitTime);
}
@Test
@Order(2)
public void addDatabaseService() throws InterruptedException {
openDatabaseServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if(webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
}
Events.click(webDriver, By.cssSelector("[data-testid='selectService']"));
Events.click(webDriver, By.cssSelector("[value='MySQL']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='url']"), "localhost:3306");
Events.sendKeys(webDriver, By.cssSelector("[data-testid='database']"), "openmetadata_db");
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(3)
public void editDatabaseService() throws InterruptedException {
openDatabaseServicePage();
Events.click(webDriver, By.xpath("(//button[@data-testid='edit-service'])[1]"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(4)
public void checkDatabaseServiceDetails() throws InterruptedException {
openDatabaseServicePage();
Events.click(webDriver, By.xpath("(//h6[@data-testid='service-name'])[2]"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
}
@Test
@Order(5)
public void searchDatabaseService() throws InterruptedException {
openDatabaseServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
}
@Test
@Order(6)
public void deleteDatabaseService() throws InterruptedException {
openDatabaseServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@AfterEach
public void closeTabs() {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
String originalHandle = webDriver.getWindowHandle();
for (String handle : webDriver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
webDriver.switchTo().window(handle);
webDriver.close();
}
}
webDriver.switchTo().window(tabs.get(0)).close();
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(3)
public void editDatabaseService() throws InterruptedException {
openDatabaseServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='edit-service']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(4)
public void checkDatabaseServiceDetails() throws InterruptedException {
openDatabaseServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
}
@Test
@Order(5)
public void searchDatabaseService() throws InterruptedException {
openDatabaseServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
}
@Test
@Order(6)
public void deleteDatabaseService() throws InterruptedException {
openDatabaseServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@AfterEach
public void closeTabs() {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
String originalHandle = webDriver.getWindowHandle();
for (String handle : webDriver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
webDriver.switchTo().window(handle);
webDriver.close();
}
}
webDriver.switchTo().window(tabs.get(0)).close();
}
}

View File

@ -40,122 +40,132 @@ import java.util.List;
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class MessagingServicePageTest {
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
Integer waitTime = Property.getInstance().getSleepTime();
static Faker faker = new Faker();
static String serviceName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
static Faker faker = new Faker();
static String serviceName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
Integer waitTime = Property.getInstance().getSleepTime();
@BeforeEach
public void openMetadataWindow() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
webDriver.manage().window().maximize();
webDriver.get(url);
@BeforeEach
public void openMetadataWindow() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
webDriver.manage().window().maximize();
webDriver.get(url);
}
@Test
@Order(1)
public void openMessagingServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
Thread.sleep(waitTime);
}
@Test
@Order(2)
public void addMessagingService() throws InterruptedException {
openMessagingServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if (webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
}
Events.click(webDriver, By.cssSelector("[value='Kafka']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='broker-url']"), "localhost:9092");
Events.sendKeys(webDriver, By.cssSelector("[data-testid='schema-registry']"), "http://localhost:8081");
@Test
@Order(1)
public void openMessagingServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
Thread.sleep(waitTime);
}
@Test
@Order(2)
public void addMessagingService() throws InterruptedException {
openMessagingServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if(webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
}
Events.click(webDriver, By.cssSelector("[value='Kafka']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='broker-url']"), "localhost:9092");
Events.sendKeys(webDriver, By.cssSelector("[data-testid='schema-registry']"), "http://localhost:8081");
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(3)
public void editMessagingService() throws InterruptedException {
openMessagingServicePage();
Events.click(webDriver, By.xpath("(//button[@data-testid='edit-service'])[1]"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(4)
public void checkMessagingServiceDetails() throws InterruptedException {
openMessagingServicePage();
Events.click(webDriver, By.xpath("(//h6[@data-testid='service-name'])[2]"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
}
@Test
@Order(5)
public void searchMessagingService() throws InterruptedException {
openMessagingServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
}
@Test
@Order(6)
public void deleteMessagingService() throws InterruptedException {
openMessagingServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@AfterEach
public void closeTabs() {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
String originalHandle = webDriver.getWindowHandle();
for (String handle : webDriver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
webDriver.switchTo().window(handle);
webDriver.close();
}
}
webDriver.switchTo().window(tabs.get(0)).close();
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(3)
public void editMessagingService() throws InterruptedException {
openMessagingServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='edit-service']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(4)
public void checkMessagingServiceDetails() throws InterruptedException {
openMessagingServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
}
@Test
@Order(5)
public void searchMessagingService() throws InterruptedException {
openMessagingServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
}
@Test
@Order(6)
public void deleteMessagingService() throws InterruptedException {
openMessagingServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@AfterEach
public void closeTabs() {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
String originalHandle = webDriver.getWindowHandle();
for (String handle : webDriver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
webDriver.switchTo().window(handle);
webDriver.close();
}
}
webDriver.switchTo().window(tabs.get(0)).close();
}
}

View File

@ -40,119 +40,129 @@ import java.util.List;
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class PipelineServiceTestPage {
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
Integer waitTime = Property.getInstance().getSleepTime();
static Faker faker = new Faker();
static String serviceName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
static Faker faker = new Faker();
static String serviceName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
Integer waitTime = Property.getInstance().getSleepTime();
@BeforeEach
public void openMetadataWindow() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
webDriver.manage().window().maximize();
webDriver.get(url);
}
@BeforeEach
public void openMetadataWindow() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
webDriver.manage().window().maximize();
webDriver.get(url);
}
@Test
@Order(1)
public void openPipelineServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]"));
Thread.sleep(waitTime);
}
@Test
@Order(1)
public void openPipelineServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]"));
Thread.sleep(waitTime);
}
@Test
@Order(2)
public void addPipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if(webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
}
Events.click(webDriver, By.cssSelector("[value='Prefect']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='pipeline-url']"), "http://localhost:8080");
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
@Test
@Order(2)
public void addPipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if (webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
}
Events.click(webDriver, By.cssSelector("[value='Prefect']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='pipeline-url']"), "http://localhost:8080");
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(3)
public void editPipelineService() throws InterruptedException {
openPipelineServicePage();
Events.click(webDriver, By.xpath("(//button[@data-testid='edit-service'])[1]"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(3)
public void editPipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='edit-service']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(4)
public void checkPipelineServiceDetails() throws InterruptedException {
openPipelineServicePage();
Events.click(webDriver, By.xpath("(//h6[@data-testid='service-name'])[1]"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
}
@Test
@Order(4)
public void checkPipelineServiceDetails() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
}
@Test
@Order(5)
public void searchPipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
}
@Test
@Order(5)
public void searchPipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='service-name']"));
}
@Test
@Order(6)
public void deletePipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@Test
@Order(6)
public void deletePipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), serviceName);
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@AfterEach
public void closeTabs() {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
String originalHandle = webDriver.getWindowHandle();
for (String handle : webDriver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
webDriver.switchTo().window(handle);
webDriver.close();
}
}
webDriver.switchTo().window(tabs.get(0)).close();
@AfterEach
public void closeTabs() {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
String originalHandle = webDriver.getWindowHandle();
for (String handle : webDriver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
webDriver.switchTo().window(handle);
webDriver.close();
}
}
webDriver.switchTo().window(tabs.get(0)).close();
}
}