|
@@ -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;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|