Sfoglia il codice sorgente

[e2e] Update case "Checking the information of used Broker in a cluster" (#3094)

* [e2e] Update case "Checking the information of used Broker in a cluster"

* [e2e] Update case "Checking the information of used Broker in a cluster"

* [e2e] Update case "Checking the information of used Broker in a cluster"

* [e2e]First Fix Update case "Checking the information of used Broker in a cluster"

* [e2e]Second Fix Update case "Checking the information of used Broker in a cluster"

* [e2e]Third Fix Update case "Checking the information of used Broker in a cluster"

* [e2e]Third Fix Update case "Checking the information of used Broker in a cluster"

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
Arthur 2 anni fa
parent
commit
ca3916aae0

+ 1 - 1
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/BasePage.java

@@ -21,7 +21,7 @@ public abstract class BasePage extends WebUtils {
   protected ElementsCollection allGridItems = $$x("//tr[@class]");
   protected String summaryCellLocator = "//div[contains(text(),'%s')]";
   protected String tableElementNameLocator = "//tbody//a[contains(text(),'%s')]";
-  protected String columnHeaderLocator = "//table//tr/th/div[text()='%s']";
+  protected String columnHeaderLocator = "//table//tr/th//div[text()='%s']";
 
   protected void waitUntilSpinnerDisappear() {
     log.debug("\nwaitUntilSpinnerDisappear");

+ 40 - 0
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/brokers/BrokersConfigTabPanel.java

@@ -0,0 +1,40 @@
+package com.provectus.kafka.ui.pages.brokers;
+
+import static com.codeborne.selenide.Selenide.$$x;
+import static com.codeborne.selenide.Selenide.$x;
+
+import com.codeborne.selenide.Condition;
+import com.codeborne.selenide.SelenideElement;
+import com.provectus.kafka.ui.pages.BasePage;
+import io.qameta.allure.Step;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public class BrokersConfigTabPanel extends BasePage {
+
+  protected List<SelenideElement> editBtn = $$x("//button[@aria-label='editAction']");
+  protected SelenideElement searchByKeyField = $x("//input[@placeholder='Search by Key']");
+
+  @Step
+  public BrokersConfigTabPanel waitUntilScreenReady(){
+    waitUntilSpinnerDisappear();
+    searchByKeyField.shouldBe(Condition.visible);
+    return this;
+  }
+
+  @Step
+  public boolean isSearchByKeyVisible() {
+   return isVisible(searchByKeyField);
+  }
+
+  public List<SelenideElement> getColumnHeaders() {
+    return Stream.of("Key", "Value", "Source")
+        .map(name -> $x(String.format(columnHeaderLocator, name)))
+        .collect(Collectors.toList());
+  }
+
+  public List<SelenideElement> getEditButtons() {
+    return editBtn;
+  }
+}

+ 36 - 1
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/brokers/BrokersDetails.java

@@ -1,5 +1,6 @@
 package com.provectus.kafka.ui.pages.brokers;
 
+import static com.codeborne.selenide.Selenide.$;
 import static com.codeborne.selenide.Selenide.$x;
 
 import com.codeborne.selenide.Condition;
@@ -11,11 +12,13 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.openqa.selenium.By;
 
 public class BrokersDetails extends BasePage {
 
   protected SelenideElement logDirectoriesTab = $x("//a[text()='Log directories']");
   protected SelenideElement metricsTab = $x("//a[text()='Metrics']");
+  protected String brokersTabLocator = "//a[text()='%s']";
 
   @Step
   public BrokersDetails waitUntilScreenReady() {
@@ -24,6 +27,13 @@ public class BrokersDetails extends BasePage {
     return this;
   }
 
+  @Step
+  public BrokersDetails openDetailsTab(DetailsTab menu) {
+    $(By.linkText(menu.toString())).shouldBe(Condition.enabled).click();
+    waitUntilSpinnerDisappear();
+    return this;
+  }
+
   private List<SelenideElement> getVisibleColumnHeaders() {
     return Stream.of("Name", "Topics", "Error", "Partitions")
         .map(name -> $x(String.format(columnHeaderLocator, name)))
@@ -42,15 +52,40 @@ public class BrokersDetails extends BasePage {
         .collect(Collectors.toList());
   }
 
+  private List<SelenideElement> getDetailsTabs() {
+    return Stream.of(DetailsTab.values())
+        .map(name -> $x(String.format(brokersTabLocator, name)))
+        .collect(Collectors.toList());
+  }
+
   @Step
   public List<SelenideElement> getAllEnabledElements() {
-    return getEnabledColumnHeaders();
+    List<SelenideElement> enabledElements = new ArrayList<>(getEnabledColumnHeaders());
+    enabledElements.addAll(getDetailsTabs());
+    return enabledElements;
   }
 
   @Step
   public List<SelenideElement> getAllVisibleElements() {
     List<SelenideElement> visibleElements = new ArrayList<>(getVisibleSummaryCells());
     visibleElements.addAll(getVisibleColumnHeaders());
+    visibleElements.addAll(getDetailsTabs());
     return visibleElements;
   }
+
+  public enum DetailsTab {
+    LOG_DIRECTORIES("Log directories"),
+    CONFIGS("Configs"),
+    METRICS("Metrics");
+
+    private final String value;
+
+    DetailsTab(String value) {
+      this.value = value;
+    }
+
+    public String toString() {
+      return value;
+    }
+  }
 }

+ 5 - 5
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/brokers/BrokersList.java

@@ -24,7 +24,7 @@ public class BrokersList extends BasePage {
   }
 
   @Step
-  public BrokersList openBroker(String brokerId) {
+  public BrokersList openBroker(int brokerId) {
     getBrokerItem(brokerId).openItem();
     return this;
   }
@@ -67,9 +67,9 @@ public class BrokersList extends BasePage {
   }
 
   @Step
-  public BrokerGridItem getBrokerItem(String id){
+  public BrokerGridItem getBrokerItem(int id){
     return initGridItems().stream()
-        .filter(e ->e.getId().equals(id))
+        .filter(e ->e.getId() == id)
         .findFirst().orElse(null);
   }
 
@@ -91,8 +91,8 @@ public class BrokersList extends BasePage {
     }
 
     @Step
-    public String getId() {
-      return getIdElm().getText().trim();
+    public int getId() {
+      return Integer.parseInt(getIdElm().getText().trim());
     }
 
     @Step

+ 2 - 0
kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/base/Facade.java

@@ -3,6 +3,7 @@ package com.provectus.kafka.ui.base;
 import com.provectus.kafka.ui.helpers.ApiHelper;
 import com.provectus.kafka.ui.pages.NaviSideBar;
 import com.provectus.kafka.ui.pages.TopPanel;
+import com.provectus.kafka.ui.pages.brokers.BrokersConfigTabPanel;
 import com.provectus.kafka.ui.pages.brokers.BrokersDetails;
 import com.provectus.kafka.ui.pages.brokers.BrokersList;
 import com.provectus.kafka.ui.pages.connector.ConnectorCreateForm;
@@ -36,4 +37,5 @@ public abstract class Facade {
     protected TopPanel topPanel = new TopPanel();
     protected BrokersList brokersList = new BrokersList();
     protected BrokersDetails brokersDetails = new BrokersDetails();
+    protected BrokersConfigTabPanel brokersConfigTabPanel = new BrokersConfigTabPanel();
 }

+ 10 - 2
kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/suite/brokers/BrokersTests.java

@@ -1,6 +1,7 @@
 package com.provectus.kafka.ui.suite.brokers;
 
 import static com.provectus.kafka.ui.pages.NaviSideBar.SideMenuOption.BROKERS;
+import static com.provectus.kafka.ui.pages.brokers.BrokersDetails.DetailsTab.CONFIGS;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import com.codeborne.selenide.Condition;
@@ -38,11 +39,18 @@ public class BrokersTests extends BaseTest {
     navigateToBrokers();
     assertThat(brokersList.getAllBrokers()).as("getAllBrokers()").size().isGreaterThan(0);
     brokersList
-        .openBroker("1");
+        .openBroker(1);
     brokersDetails
         .waitUntilScreenReady();
     verifyElementsCondition(brokersDetails.getAllVisibleElements(), Condition.visible);
-    verifyElementsCondition(brokersDetails.getAllVisibleElements(), Condition.enabled);
+    verifyElementsCondition(brokersDetails.getAllEnabledElements(), Condition.enabled);
+    brokersDetails
+        .openDetailsTab(CONFIGS);
+    brokersConfigTabPanel
+        .waitUntilScreenReady();
+    verifyElementsCondition(brokersConfigTabPanel.getColumnHeaders(), Condition.visible);
+    verifyElementsCondition(brokersConfigTabPanel.getEditButtons(), Condition.enabled);
+    assertThat(brokersConfigTabPanel.isSearchByKeyVisible()).as("isSearchByKeyVisible()").isTrue();
   }
 
   @Step