Pārlūkot izejas kodu

[E2E] Checking Clear results in case of no result after execution (#3817)

Vlad Senyuta 2 gadi atpakaļ
vecāks
revīzija
c7cb7a4027

+ 5 - 0
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/ksqldb/KsqlQueryForm.java

@@ -74,6 +74,11 @@ public class KsqlQueryForm extends BasePage {
     return isVisible(cancelledAlert);
     return isVisible(cancelledAlert);
   }
   }
 
 
+  @Step
+  public boolean isClearResultsBtnEnabled() {
+    return isEnabled(clearResultsBtn);
+  }
+
   @Step
   @Step
   public KsqlQueryForm clickClearResultsBtn() {
   public KsqlQueryForm clickClearResultsBtn() {
     clickByActions(clearResultsBtn);
     clickByActions(clearResultsBtn);

+ 9 - 7
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/settings/drivers/WebDriver.java

@@ -14,9 +14,10 @@ import com.codeborne.selenide.WebDriverRunner;
 import com.codeborne.selenide.logevents.SelenideLogger;
 import com.codeborne.selenide.logevents.SelenideLogger;
 import io.qameta.allure.Step;
 import io.qameta.allure.Step;
 import io.qameta.allure.selenide.AllureSelenide;
 import io.qameta.allure.selenide.AllureSelenide;
+import java.util.HashMap;
+import java.util.Map;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.openqa.selenium.chrome.ChromeOptions;
 import org.openqa.selenium.chrome.ChromeOptions;
-import org.openqa.selenium.remote.DesiredCapabilities;
 
 
 @Slf4j
 @Slf4j
 public abstract class WebDriver {
 public abstract class WebDriver {
@@ -29,7 +30,7 @@ public abstract class WebDriver {
     Configuration.screenshots = true;
     Configuration.screenshots = true;
     Configuration.savePageSource = false;
     Configuration.savePageSource = false;
     Configuration.pageLoadTimeout = 120000;
     Configuration.pageLoadTimeout = 120000;
-    ChromeOptions options = new ChromeOptions()
+    ChromeOptions chromeOptions = new ChromeOptions()
         .addArguments("--no-sandbox")
         .addArguments("--no-sandbox")
         .addArguments("--verbose")
         .addArguments("--verbose")
         .addArguments("--remote-allow-origins=*")
         .addArguments("--remote-allow-origins=*")
@@ -37,14 +38,15 @@ public abstract class WebDriver {
         .addArguments("--disable-gpu")
         .addArguments("--disable-gpu")
         .addArguments("--lang=en_US");
         .addArguments("--lang=en_US");
     switch (BROWSER) {
     switch (BROWSER) {
-      case (LOCAL) -> Configuration.browserCapabilities = options;
+      case (LOCAL) -> Configuration.browserCapabilities = chromeOptions;
       case (CONTAINER) -> {
       case (CONTAINER) -> {
         Configuration.remote = REMOTE_URL;
         Configuration.remote = REMOTE_URL;
         Configuration.remoteConnectionTimeout = 180000;
         Configuration.remoteConnectionTimeout = 180000;
-        DesiredCapabilities capabilities = new DesiredCapabilities();
-        capabilities.setCapability("enableVNC", true);
-        capabilities.setCapability("enableVideo", false);
-        Configuration.browserCapabilities = capabilities.merge(options);
+        Map<String, Object> selenoidOptions = new HashMap<>();
+        selenoidOptions.put("enableVNC", true);
+        selenoidOptions.put("enableVideo", false);
+        chromeOptions.setCapability("selenoid:options", selenoidOptions);
+        Configuration.browserCapabilities = chromeOptions;
       }
       }
       default -> throw new IllegalStateException("Unexpected value: " + BROWSER);
       default -> throw new IllegalStateException("Unexpected value: " + BROWSER);
     }
     }

+ 30 - 8
kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/manualsuite/backlog/SmokeBacklog.java

@@ -1,9 +1,10 @@
 package com.provectus.kafka.ui.manualsuite.backlog;
 package com.provectus.kafka.ui.manualsuite.backlog;
 
 
 import static com.provectus.kafka.ui.qasesuite.BaseQaseTest.BROKERS_SUITE_ID;
 import static com.provectus.kafka.ui.qasesuite.BaseQaseTest.BROKERS_SUITE_ID;
-import static com.provectus.kafka.ui.qasesuite.BaseQaseTest.KSQL_DB_SUITE_ID;
 import static com.provectus.kafka.ui.qasesuite.BaseQaseTest.SCHEMAS_SUITE_ID;
 import static com.provectus.kafka.ui.qasesuite.BaseQaseTest.SCHEMAS_SUITE_ID;
 import static com.provectus.kafka.ui.qasesuite.BaseQaseTest.TOPICS_PROFILE_SUITE_ID;
 import static com.provectus.kafka.ui.qasesuite.BaseQaseTest.TOPICS_PROFILE_SUITE_ID;
+import static com.provectus.kafka.ui.qasesuite.BaseQaseTest.TOPICS_SUITE_ID;
+import static com.provectus.kafka.ui.utilities.qase.enums.State.NOT_AUTOMATED;
 import static com.provectus.kafka.ui.utilities.qase.enums.State.TO_BE_AUTOMATED;
 import static com.provectus.kafka.ui.utilities.qase.enums.State.TO_BE_AUTOMATED;
 
 
 import com.provectus.kafka.ui.manualsuite.BaseManualTest;
 import com.provectus.kafka.ui.manualsuite.BaseManualTest;
@@ -57,30 +58,51 @@ public class SmokeBacklog extends BaseManualTest {
   }
   }
 
 
   @Automation(state = TO_BE_AUTOMATED)
   @Automation(state = TO_BE_AUTOMATED)
-  @Suite(id = KSQL_DB_SUITE_ID)
-  @QaseId(344)
+  @Suite(id = SCHEMAS_SUITE_ID)
+  @QaseId(345)
   @Test
   @Test
   public void testCaseG() {
   public void testCaseG() {
   }
   }
 
 
   @Automation(state = TO_BE_AUTOMATED)
   @Automation(state = TO_BE_AUTOMATED)
   @Suite(id = SCHEMAS_SUITE_ID)
   @Suite(id = SCHEMAS_SUITE_ID)
-  @QaseId(345)
+  @QaseId(346)
   @Test
   @Test
   public void testCaseH() {
   public void testCaseH() {
   }
   }
 
 
   @Automation(state = TO_BE_AUTOMATED)
   @Automation(state = TO_BE_AUTOMATED)
-  @Suite(id = SCHEMAS_SUITE_ID)
-  @QaseId(346)
+  @Suite(id = TOPICS_PROFILE_SUITE_ID)
+  @QaseId(347)
   @Test
   @Test
   public void testCaseI() {
   public void testCaseI() {
   }
   }
 
 
   @Automation(state = TO_BE_AUTOMATED)
   @Automation(state = TO_BE_AUTOMATED)
-  @Suite(id = TOPICS_PROFILE_SUITE_ID)
-  @QaseId(347)
+  @Suite(id = BROKERS_SUITE_ID)
+  @QaseId(348)
   @Test
   @Test
   public void testCaseJ() {
   public void testCaseJ() {
   }
   }
+
+  @Automation(state = TO_BE_AUTOMATED)
+  @Suite(id = BROKERS_SUITE_ID)
+  @QaseId(350)
+  @Test
+  public void testCaseK() {
+  }
+
+  @Automation(state = NOT_AUTOMATED)
+  @Suite(id = TOPICS_SUITE_ID)
+  @QaseId(50)
+  @Test
+  public void testCaseL() {
+  }
+
+  @Automation(state = NOT_AUTOMATED)
+  @Suite(id = SCHEMAS_SUITE_ID)
+  @QaseId(351)
+  @Test
+  public void testCaseM() {
+  }
 }
 }

+ 10 - 16
kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/manualsuite/suite/TopicsTest.java

@@ -51,69 +51,63 @@ public class TopicsTest extends BaseManualTest {
   public void testCaseG() {
   public void testCaseG() {
   }
   }
 
 
-  @Automation(state = NOT_AUTOMATED)
-  @QaseId(50)
-  @Test
-  public void testCaseH() {
-  }
-
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(57)
   @QaseId(57)
   @Test
   @Test
-  public void testCaseI() {
+  public void testCaseH() {
   }
   }
 
 
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(58)
   @QaseId(58)
   @Test
   @Test
-  public void testCaseJ() {
+  public void testCaseI() {
   }
   }
 
 
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(269)
   @QaseId(269)
   @Test
   @Test
-  public void testCaseK() {
+  public void testCaseJ() {
   }
   }
 
 
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(270)
   @QaseId(270)
   @Test
   @Test
-  public void testCaseL() {
+  public void testCaseK() {
   }
   }
 
 
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(271)
   @QaseId(271)
   @Test
   @Test
-  public void testCaseM() {
+  public void testCaseL() {
   }
   }
 
 
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(272)
   @QaseId(272)
   @Test
   @Test
-  public void testCaseN() {
+  public void testCaseM() {
   }
   }
 
 
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(337)
   @QaseId(337)
   @Test
   @Test
-  public void testCaseO() {
+  public void testCaseN() {
   }
   }
 
 
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(339)
   @QaseId(339)
   @Test
   @Test
-  public void testCaseP() {
+  public void testCaseO() {
   }
   }
 
 
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(341)
   @QaseId(341)
   @Test
   @Test
-  public void testCaseQ() {
+  public void testCaseP() {
   }
   }
 
 
   @Automation(state = NOT_AUTOMATED)
   @Automation(state = NOT_AUTOMATED)
   @QaseId(342)
   @QaseId(342)
   @Test
   @Test
-  public void testCaseR() {
+  public void testCaseQ() {
   }
   }
 }
 }

+ 22 - 12
kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/smokesuite/ksqldb/KsqlDbTest.java

@@ -4,7 +4,6 @@ import static com.provectus.kafka.ui.pages.ksqldb.enums.KsqlMenuTabs.STREAMS;
 import static com.provectus.kafka.ui.pages.ksqldb.enums.KsqlQueryConfig.SELECT_ALL_FROM;
 import static com.provectus.kafka.ui.pages.ksqldb.enums.KsqlQueryConfig.SELECT_ALL_FROM;
 import static com.provectus.kafka.ui.pages.ksqldb.enums.KsqlQueryConfig.SHOW_STREAMS;
 import static com.provectus.kafka.ui.pages.ksqldb.enums.KsqlQueryConfig.SHOW_STREAMS;
 import static com.provectus.kafka.ui.pages.ksqldb.enums.KsqlQueryConfig.SHOW_TABLES;
 import static com.provectus.kafka.ui.pages.ksqldb.enums.KsqlQueryConfig.SHOW_TABLES;
-import static com.provectus.kafka.ui.pages.panels.enums.MenuItem.KSQL_DB;
 import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
 import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
 
 
 import com.provectus.kafka.ui.BaseTest;
 import com.provectus.kafka.ui.BaseTest;
@@ -45,10 +44,7 @@ public class KsqlDbTest extends BaseTest {
   @QaseId(284)
   @QaseId(284)
   @Test(priority = 1)
   @Test(priority = 1)
   public void streamsAndTablesVisibilityCheck() {
   public void streamsAndTablesVisibilityCheck() {
-    naviSideBar
-        .openSideMenu(KSQL_DB);
-    ksqlDbList
-        .waitUntilScreenReady();
+    navigateToKsqlDb();
     SoftAssert softly = new SoftAssert();
     SoftAssert softly = new SoftAssert();
     softly.assertTrue(ksqlDbList.getTableByName(FIRST_TABLE.getName()).isVisible(), "getTableByName()");
     softly.assertTrue(ksqlDbList.getTableByName(FIRST_TABLE.getName()).isVisible(), "getTableByName()");
     softly.assertTrue(ksqlDbList.getTableByName(SECOND_TABLE.getName()).isVisible(), "getTableByName()");
     softly.assertTrue(ksqlDbList.getTableByName(SECOND_TABLE.getName()).isVisible(), "getTableByName()");
@@ -69,8 +65,24 @@ public class KsqlDbTest extends BaseTest {
     Assert.assertTrue(ksqlQueryForm.getEnteredQuery().isEmpty(), "getEnteredQuery()");
     Assert.assertTrue(ksqlQueryForm.getEnteredQuery().isEmpty(), "getEnteredQuery()");
   }
   }
 
 
-  @QaseId(41)
+  @QaseId(344)
   @Test(priority = 3)
   @Test(priority = 3)
+  public void clearResultsButtonCheck() {
+    String notValidQuery = "some not valid request";
+    navigateToKsqlDb();
+    ksqlDbList
+        .clickExecuteKsqlRequestBtn();
+    ksqlQueryForm
+        .waitUntilScreenReady()
+        .setQuery(notValidQuery);
+    Assert.assertFalse(ksqlQueryForm.isClearResultsBtnEnabled(), "isClearResultsBtnEnabled()");
+    ksqlQueryForm
+        .clickExecuteBtn(notValidQuery);
+    Assert.assertFalse(ksqlQueryForm.isClearResultsBtnEnabled(), "isClearResultsBtnEnabled()");
+  }
+
+  @QaseId(41)
+  @Test(priority = 4)
   public void checkShowTablesRequestExecution() {
   public void checkShowTablesRequestExecution() {
     navigateToKsqlDbAndExecuteRequest(SHOW_TABLES.getQuery());
     navigateToKsqlDbAndExecuteRequest(SHOW_TABLES.getQuery());
     SoftAssert softly = new SoftAssert();
     SoftAssert softly = new SoftAssert();
@@ -83,7 +95,7 @@ public class KsqlDbTest extends BaseTest {
   }
   }
 
 
   @QaseId(278)
   @QaseId(278)
-  @Test(priority = 4)
+  @Test(priority = 5)
   public void checkShowStreamsRequestExecution() {
   public void checkShowStreamsRequestExecution() {
     navigateToKsqlDbAndExecuteRequest(SHOW_STREAMS.getQuery());
     navigateToKsqlDbAndExecuteRequest(SHOW_STREAMS.getQuery());
     SoftAssert softly = new SoftAssert();
     SoftAssert softly = new SoftAssert();
@@ -94,7 +106,7 @@ public class KsqlDbTest extends BaseTest {
   }
   }
 
 
   @QaseId(86)
   @QaseId(86)
-  @Test(priority = 5)
+  @Test(priority = 6)
   public void clearResultsForExecutedRequest() {
   public void clearResultsForExecutedRequest() {
     navigateToKsqlDbAndExecuteRequest(SHOW_TABLES.getQuery());
     navigateToKsqlDbAndExecuteRequest(SHOW_TABLES.getQuery());
     SoftAssert softly = new SoftAssert();
     SoftAssert softly = new SoftAssert();
@@ -107,7 +119,7 @@ public class KsqlDbTest extends BaseTest {
   }
   }
 
 
   @QaseId(277)
   @QaseId(277)
-  @Test(priority = 6)
+  @Test(priority = 7)
   public void stopQueryFunctionalCheck() {
   public void stopQueryFunctionalCheck() {
     navigateToKsqlDbAndExecuteRequest(String.format(SELECT_ALL_FROM.getQuery(), FIRST_TABLE.getName()));
     navigateToKsqlDbAndExecuteRequest(String.format(SELECT_ALL_FROM.getQuery(), FIRST_TABLE.getName()));
     Assert.assertTrue(ksqlQueryForm.isAbortBtnVisible(), "isAbortBtnVisible()");
     Assert.assertTrue(ksqlQueryForm.isAbortBtnVisible(), "isAbortBtnVisible()");
@@ -123,10 +135,8 @@ public class KsqlDbTest extends BaseTest {
 
 
   @Step
   @Step
   private void navigateToKsqlDbAndExecuteRequest(String query) {
   private void navigateToKsqlDbAndExecuteRequest(String query) {
-    naviSideBar
-        .openSideMenu(KSQL_DB);
+    navigateToKsqlDb();
     ksqlDbList
     ksqlDbList
-        .waitUntilScreenReady()
         .clickExecuteKsqlRequestBtn();
         .clickExecuteKsqlRequestBtn();
     ksqlQueryForm
     ksqlQueryForm
         .waitUntilScreenReady()
         .waitUntilScreenReady()