From 6e8ce77fd302d0b24e5c01a7959c8592e2abe65c Mon Sep 17 00:00:00 2001 From: Arthur <79512124+ArthurNiedial@users.noreply.github.com> Date: Thu, 22 Sep 2022 15:39:01 +0300 Subject: [PATCH] Issue#2437 (#2626) * [e2e] refactoring of assertions cross tests #2437 * [e2e] refactoring of assertions cross tests #2437 * [e2e] refactoring of assertions cross tests #2437 * [e2e] refactoring of assertions cross tests #2437 * [e2e] refactoring of assertions cross tests #2437 * [e2e]Fix refactoring of assertions cross tests #2437 * [e2e]Fix refactoring of assertions cross tests #2437 * [e2e]Fix refactoring of assertions cross tests #2437 --- .../kafka/ui/extensions/WebUtils.java | 20 ++++++++++ .../provectus/kafka/ui/pages/MainPage.java | 13 ------- .../ui/pages/connector/ConnectorsList.java | 17 +++------ .../ui/pages/schema/SchemaRegistryList.java | 18 ++++----- .../kafka/ui/pages/schema/SchemaView.java | 7 +--- .../topic/TopicCreateEditSettingsView.java | 28 +++++++------- .../kafka/ui/pages/topic/TopicView.java | 2 +- .../kafka/ui/pages/topic/TopicsList.java | 10 ++--- .../kafka/ui/tests/ConnectorsTests.java | 17 ++++----- .../kafka/ui/tests/SchemasTests.java | 23 +++++------ .../provectus/kafka/ui/tests/TopicTests.java | 38 ++++++++++--------- 11 files changed, 94 insertions(+), 99 deletions(-) create mode 100644 kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/extensions/WebUtils.java diff --git a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/extensions/WebUtils.java b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/extensions/WebUtils.java new file mode 100644 index 0000000000..2c39fb550d --- /dev/null +++ b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/extensions/WebUtils.java @@ -0,0 +1,20 @@ +package com.provectus.kafka.ui.extensions; + +import com.codeborne.selenide.Condition; +import com.codeborne.selenide.SelenideElement; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class WebUtils { + + public static boolean isVisible(SelenideElement element) { + boolean isVisible = false; + try { + element.shouldBe(Condition.visible); + isVisible = true; + } catch (Throwable e) { + log.debug("Element {} is not visible", element.getSearchCriteria()); + } + return isVisible; + } +} \ No newline at end of file diff --git a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/MainPage.java b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/MainPage.java index cfc15f105e..f6ab04fd94 100644 --- a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/MainPage.java +++ b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/MainPage.java @@ -5,7 +5,6 @@ import com.codeborne.selenide.Selenide; import com.codeborne.selenide.SelenideElement; import com.provectus.kafka.ui.extensions.WaitUtils; import com.provectus.kafka.ui.helpers.TestConfiguration; -import com.provectus.kafka.ui.pages.topic.TopicsList; import io.qameta.allure.Step; import lombok.experimental.ExtensionMethod; import org.openqa.selenium.By; @@ -31,16 +30,6 @@ public class MainPage { return this; } - @Step - public void topicIsVisible(String topicName) { - new TopicsList().isTopicVisible(topicName); - } - @Step - public void topicIsNotVisible(String topicName){ - new TopicsList().isTopicNotVisible(topicName); - } - - public enum SideMenuOptions { BROKERS("Brokers"), TOPICS("Topics"), @@ -54,8 +43,6 @@ public class MainPage { } } - - @Step public MainPage goToSideMenu(String clusterName, SideMenuOptions option) { SelenideElement clusterElement = $x(String.format("//aside/ul/li[contains(.,'%s')]", clusterName)).shouldBe(Condition.visible); diff --git a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/connector/ConnectorsList.java b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/connector/ConnectorsList.java index f79f232776..d088f9cd3d 100644 --- a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/connector/ConnectorsList.java +++ b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/connector/ConnectorsList.java @@ -9,7 +9,9 @@ import io.qameta.allure.Step; import lombok.experimental.ExtensionMethod; import org.openqa.selenium.By; -import static com.codeborne.selenide.Selenide.*; +import static com.codeborne.selenide.Selenide.$; +import static com.codeborne.selenide.Selenide.$x; +import static com.provectus.kafka.ui.extensions.WebUtils.isVisible; @ExtensionMethod(WaitUtils.class) public class ConnectorsList { @@ -34,27 +36,18 @@ public class ConnectorsList { return new ConnectorCreateView(); } - @Step public ConnectorsList openConnector(String connectorName) { $(By.linkText(connectorName)).click(); return this; } - @Step - public ConnectorsList isNotVisible(String connectorName) { + public boolean isConnectorVisible(String connectorName) { $(By.xpath("//table")).shouldBe(Condition.visible); - $x("//tbody//td[1]//a[text()='" + connectorName + "']").shouldBe(Condition.not(Condition.visible)); - return this; + return isVisible($x("//tbody//td[1]//a[text()='" + connectorName + "']")); } - @Step("Verify that connector {connectorName} is visible in the list") - public ConnectorsList connectorIsVisibleInList(String connectorName, String topicName) { - $x("//table//a[@href='/ui/clusters/local/connects/first/connectors/" + connectorName + "']").shouldBe(Condition.visible); - $$(By.linkText(topicName)); - return this; - } @Step public ConnectorsList connectorIsUpdatedInList(String connectorName, String topicName) { $(By.xpath(String.format("//a[text() = '%s']", connectorName))).shouldBe(Condition.visible); diff --git a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/schema/SchemaRegistryList.java b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/schema/SchemaRegistryList.java index a9cc45d92c..cdd50de737 100644 --- a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/schema/SchemaRegistryList.java +++ b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/schema/SchemaRegistryList.java @@ -7,15 +7,18 @@ import io.qameta.allure.Step; import org.openqa.selenium.By; import static com.codeborne.selenide.Selenide.*; +import static com.provectus.kafka.ui.extensions.WebUtils.isVisible; public class SchemaRegistryList { private final SelenideElement schemaButton = $(By.xpath("//*[contains(text(),'Create Schema')]")); + @Step public SchemaCreateView clickCreateSchema() { BrowserUtils.javaExecutorClick(schemaButton); return new SchemaCreateView(); } + @Step public SchemaView openSchema(String schemaName) { $(By.xpath("//*[contains(text(),'" + schemaName + "')]")).click(); @@ -23,17 +26,10 @@ public class SchemaRegistryList { } @Step - public SchemaRegistryList isNotVisible(String schemaName) { - $x(String.format("//*[contains(text(),'%s')]", schemaName)).shouldNotBe(Condition.visible); - return this; - } - - @Step - public SchemaRegistryList isSchemaVisible(String schemaName) { - $$("tbody td>a") - .find(Condition.exactText(schemaName)) - .shouldBe(Condition.visible); - return this; + public boolean isSchemaVisible(String schemaName) { + $(By.xpath("//table")).shouldBe(Condition.visible); + return isVisible($x("//tbody//td//a[text()='" + schemaName + "']")); } } + diff --git a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/schema/SchemaView.java b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/schema/SchemaView.java index 9924b148e4..e0b90bf3dd 100644 --- a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/schema/SchemaView.java +++ b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/schema/SchemaView.java @@ -2,13 +2,11 @@ package com.provectus.kafka.ui.pages.schema; import com.codeborne.selenide.Condition; import com.codeborne.selenide.SelenideElement; -import com.provectus.kafka.ui.api.model.CompatibilityLevel; import com.provectus.kafka.ui.utils.BrowserUtils; import io.qameta.allure.Step; import org.openqa.selenium.By; import static com.codeborne.selenide.Selenide.*; - public class SchemaView { protected SelenideElement dotMenuBtn = $$x("//button[@aria-label='Dropdown Toggle']").first(); @@ -20,9 +18,8 @@ public class SchemaView { } @Step - public SchemaView isCompatibility(CompatibilityLevel.CompatibilityEnum compatibility){ - $x("//div//p[.='" + compatibility.getValue() + "']").shouldBe(Condition.visible); - return this; + public String getCompatibility() { + return $x("//h4[contains(text(),'Compatibility')]/../p").getText(); } @Step diff --git a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicCreateEditSettingsView.java b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicCreateEditSettingsView.java index 330c457dda..e7c75e3b9e 100644 --- a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicCreateEditSettingsView.java +++ b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicCreateEditSettingsView.java @@ -140,21 +140,23 @@ public class TopicCreateEditSettingsView { return this; } @Step - public TopicCreateEditSettingsView maxSizeOnDiskIs(String size) { - String retentionBytes = new KafkaUISelectElement("retentionBytes") - .getCurrentValue(); - assertThat(retentionBytes) - .as("Max size on disk in GB should be " + size) - .isEqualTo(size); - return this; + public String getCleanupPolicy() { + return new KafkaUISelectElement("cleanupPolicy").getCurrentValue(); } + @Step - public TopicCreateEditSettingsView maxMessageBytesIs(String bytes) { - String value = maxMessageBytes.getValue(); - assertThat(value) - .as("Maximum message size in bytes should be " + bytes) - .isEqualTo(bytes); - return this; + public String getTimeToRetain() { + return timeToRetain.getValue(); + } + + @Step + public String getMaxSizeOnDisk() { + return new KafkaUISelectElement("retentionBytes").getCurrentValue(); + } + + @Step + public String getMaxMessageBytes() { + return maxMessageBytes.getValue(); } diff --git a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicView.java b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicView.java index 8d05508171..adcd478828 100644 --- a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicView.java +++ b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicView.java @@ -33,7 +33,7 @@ public class TopicView { @Step public TopicCreateEditSettingsView openEditSettings() { BrowserUtils.javaExecutorClick(dotMenuBtn); - $x("//a[text()= '" + DotMenuHeaderItems.EDIT_SETTINGS.getValue() + "']").click(); + $x("//li[@role][text()='Edit settings']").click(); return new TopicCreateEditSettingsView(); } diff --git a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicsList.java b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicsList.java index aafa9bb0ce..c3c833b89b 100644 --- a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicsList.java +++ b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topic/TopicsList.java @@ -11,6 +11,7 @@ import lombok.experimental.ExtensionMethod; import org.openqa.selenium.By; import static com.codeborne.selenide.Selenide.*; +import static com.provectus.kafka.ui.extensions.WebUtils.isVisible; @ExtensionMethod(WaitUtils.class) public class TopicsList { @@ -37,12 +38,9 @@ public class TopicsList { } @Step - public TopicsList isTopicVisible(String topicName) { - $$("tbody td>a") - .shouldBe(CollectionCondition.sizeGreaterThan(4)) - .find(Condition.exactText(topicName)) - .shouldBe(Condition.visible); - return this; + public boolean isTopicVisible(String topicName) { + $(By.xpath("//table")).shouldBe(Condition.visible); + return isVisible($x("//tbody//td//a[text()='" + topicName + "']")); } @Step diff --git a/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/ConnectorsTests.java b/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/ConnectorsTests.java index 19682d4be0..3ec1eff890 100644 --- a/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/ConnectorsTests.java +++ b/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/ConnectorsTests.java @@ -8,10 +8,7 @@ import com.provectus.kafka.ui.utils.qaseIO.Status; import com.provectus.kafka.ui.utils.qaseIO.annotation.AutomationStatus; import com.provectus.kafka.ui.utils.qaseIO.annotation.Suite; import io.qase.api.annotation.CaseId; -import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.*; import java.util.ArrayList; import java.util.List; @@ -69,8 +66,8 @@ public class ConnectorsTests extends BaseTest { .waitUntilScreenReady() .setConnectorConfig(connectorForCreate.getName(), connectorForCreate.getConfig()); pages.openConnectorsList(CLUSTER_NAME) - .waitUntilScreenReady() - .connectorIsVisibleInList(connectorForCreate.getName(), TOPIC_FOR_CREATE.getName()); + .waitUntilScreenReady(); + Assertions.assertTrue(pages.connectorsList.isConnectorVisible(connectorForCreate.getName()),"isConnectorVisible()"); CONNECTOR_LIST.add(connectorForCreate); } @@ -86,8 +83,8 @@ public class ConnectorsTests extends BaseTest { pages.connectorsView.connectorIsVisibleOnOverview(); pages.connectorsView.openEditConfig() .updConnectorConfig(CONNECTOR_FOR_UPDATE.getConfig()); - pages.openConnectorsList(CLUSTER_NAME) - .connectorIsVisibleInList(CONNECTOR_FOR_UPDATE.getName(), TOPIC_FOR_UPDATE.getName()); + pages.openConnectorsList(CLUSTER_NAME); + Assertions.assertTrue(pages.connectorsList.isConnectorVisible(CONNECTOR_FOR_UPDATE.getName()),"isConnectorVisible()"); } @DisplayName("should delete connector") @@ -100,8 +97,8 @@ public class ConnectorsTests extends BaseTest { .waitUntilScreenReady() .openConnector(CONNECTOR_FOR_DELETE.getName()); pages.connectorsView.clickDeleteButton(); - pages.openConnectorsList(CLUSTER_NAME) - .isNotVisible(CONNECTOR_FOR_DELETE.getName()); + pages.openConnectorsList(CLUSTER_NAME); + Assertions.assertFalse(pages.connectorsList.isConnectorVisible(CONNECTOR_FOR_DELETE.getName()),"isConnectorVisible()"); CONNECTOR_LIST.remove(CONNECTOR_FOR_DELETE); } diff --git a/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/SchemasTests.java b/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/SchemasTests.java index 9218548d9d..265defb045 100644 --- a/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/SchemasTests.java +++ b/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/SchemasTests.java @@ -6,6 +6,7 @@ import com.provectus.kafka.ui.helpers.Helpers; import com.provectus.kafka.ui.models.Schema; import com.provectus.kafka.ui.pages.MainPage; import com.provectus.kafka.ui.pages.schema.SchemaEditView; +import com.provectus.kafka.ui.pages.schema.SchemaView; import com.provectus.kafka.ui.utils.qaseIO.Status; import com.provectus.kafka.ui.utils.qaseIO.annotation.AutomationStatus; import com.provectus.kafka.ui.utils.qaseIO.annotation.Suite; @@ -53,7 +54,7 @@ public class SchemasTests extends BaseTest { .waitUntilScreenReady(); pages.mainPage .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); - pages.schemaRegistry.isSchemaVisible(schemaAvro.getName()); + Assertions.assertTrue(pages.schemaRegistry.isSchemaVisible(schemaAvro.getName()),"isSchemaVisible()"); SCHEMA_LIST.add(schemaAvro); } @@ -74,8 +75,8 @@ public class SchemasTests extends BaseTest { new SchemaEditView().selectCompatibilityLevelFromDropdown(CompatibilityLevel.CompatibilityEnum.NONE) .setNewSchemaValue(fileToString(AVRO_API.getValuePath())) .clickSubmit() - .waitUntilScreenReady() - .isCompatibility(CompatibilityLevel.CompatibilityEnum.NONE); + .waitUntilScreenReady(); + Assertions.assertEquals(CompatibilityLevel.CompatibilityEnum.NONE.toString(), new SchemaView().getCompatibility(), "getCompatibility()"); } @DisplayName("should delete AVRO schema") @@ -89,8 +90,8 @@ public class SchemasTests extends BaseTest { .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); pages.schemaRegistry.openSchema(AVRO_API.getName()) .waitUntilScreenReady() - .removeSchema() - .isNotVisible(AVRO_API.getName()); + .removeSchema(); + Assertions.assertFalse(pages.schemaRegistry.isSchemaVisible(AVRO_API.getName()),"isSchemaVisible()"); SCHEMA_LIST.remove(AVRO_API); } @@ -112,7 +113,7 @@ public class SchemasTests extends BaseTest { .waitUntilScreenReady(); pages.mainPage .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); - pages.schemaRegistry.isSchemaVisible(schemaJson.getName()); + Assertions.assertTrue(pages.schemaRegistry.isSchemaVisible(schemaJson.getName()),"isSchemaVisible()"); SCHEMA_LIST.add(schemaJson); } @@ -127,8 +128,8 @@ public class SchemasTests extends BaseTest { .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); pages.schemaRegistry.openSchema(JSON_API.getName()) .waitUntilScreenReady() - .removeSchema() - .isNotVisible(JSON_API.getName()); + .removeSchema(); + Assertions.assertFalse(pages.schemaRegistry.isSchemaVisible(JSON_API.getName()),"isSchemaVisible()"); SCHEMA_LIST.remove(JSON_API); } @@ -150,7 +151,7 @@ public class SchemasTests extends BaseTest { .waitUntilScreenReady(); pages.mainPage .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); - pages.schemaRegistry.isSchemaVisible(schemaProtobuf.getName()); + Assertions.assertTrue(pages.schemaRegistry.isSchemaVisible(schemaProtobuf.getName()),"isSchemaVisible()"); SCHEMA_LIST.add(schemaProtobuf); } @@ -165,8 +166,8 @@ public class SchemasTests extends BaseTest { .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); pages.schemaRegistry.openSchema(PROTOBUF_API.getName()) .waitUntilScreenReady() - .removeSchema() - .isNotVisible(PROTOBUF_API.getName()); + .removeSchema(); + Assertions.assertFalse(pages.schemaRegistry.isSchemaVisible(PROTOBUF_API.getName()),"isSchemaVisible()"); SCHEMA_LIST.remove(PROTOBUF_API); } diff --git a/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/TopicTests.java b/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/TopicTests.java index 8f74109631..c284f2217b 100644 --- a/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/TopicTests.java +++ b/kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/tests/TopicTests.java @@ -4,12 +4,13 @@ import com.provectus.kafka.ui.base.BaseTest; import com.provectus.kafka.ui.helpers.Helpers; import com.provectus.kafka.ui.models.Topic; import com.provectus.kafka.ui.pages.MainPage; +import com.provectus.kafka.ui.pages.topic.TopicCreateEditSettingsView; import com.provectus.kafka.ui.pages.topic.TopicView; import com.provectus.kafka.ui.utils.qaseIO.Status; import com.provectus.kafka.ui.utils.qaseIO.annotation.AutomationStatus; import com.provectus.kafka.ui.utils.qaseIO.annotation.Suite; -import io.qameta.allure.Issue; import io.qase.api.annotation.CaseId; +import org.assertj.core.api.SoftAssertions; import org.junit.jupiter.api.*; import java.util.ArrayList; @@ -51,14 +52,13 @@ public class TopicTests extends BaseTest { .sendData() .waitUntilScreenReady(); pages.open() - .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.TOPICS) - .topicIsVisible(topicToCreate.getName()); + .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.TOPICS); + Assertions.assertTrue(pages.topicsList.isTopicVisible(topicToCreate.getName()),"isTopicVisible"); TOPIC_LIST.add(topicToCreate); } - @Disabled("Due to issue https://github.com/provectus/kafka-ui/issues/1500 ignore this test") + @Disabled("https://github.com/provectus/kafka-ui/issues/2625") @DisplayName("should update a topic") - @Issue("1500") @Suite(suiteId = SUITE_ID, title = SUITE_TITLE) @AutomationStatus(status = Status.AUTOMATED) @CaseId(197) @@ -66,7 +66,7 @@ public class TopicTests extends BaseTest { public void updateTopic() { pages.openTopicsList(CLUSTER_NAME) .waitUntilScreenReady(); - pages.openTopicView(CLUSTER_NAME, TOPIC_FOR_UPDATE.getName()) + pages.topicsList.openTopic(TOPIC_FOR_UPDATE.getName()) .waitUntilScreenReady() .openEditSettings() .selectCleanupPolicy(TOPIC_FOR_UPDATE.getCompactPolicyValue()) @@ -78,13 +78,15 @@ public class TopicTests extends BaseTest { .waitUntilScreenReady(); pages.openTopicsList(CLUSTER_NAME) .waitUntilScreenReady(); - pages.openTopicView(CLUSTER_NAME, TOPIC_FOR_UPDATE.getName()) - .openEditSettings() - // Assertions - .cleanupPolicyIs(TOPIC_FOR_UPDATE.getCompactPolicyValue()) - .timeToRetainIs(TOPIC_FOR_UPDATE.getTimeToRetainData()) - .maxSizeOnDiskIs(TOPIC_FOR_UPDATE.getMaxSizeOnDisk()) - .maxMessageBytesIs(TOPIC_FOR_UPDATE.getMaxMessageBytes()); + pages.topicsList.openTopic(TOPIC_FOR_UPDATE.getName()) + .waitUntilScreenReady() + .openEditSettings(); + SoftAssertions softly = new SoftAssertions(); + softly.assertThat(new TopicCreateEditSettingsView().getCleanupPolicy()).as("Cleanup Policy").isEqualTo(TOPIC_FOR_UPDATE.getCompactPolicyValue()); + softly.assertThat(new TopicCreateEditSettingsView().getTimeToRetain()).as("Time to retain").isEqualTo(TOPIC_FOR_UPDATE.getTimeToRetainData()); + softly.assertThat(new TopicCreateEditSettingsView().getMaxSizeOnDisk()).as("Max size on disk").isEqualTo(TOPIC_FOR_UPDATE.getMaxSizeOnDisk()); + softly.assertThat(new TopicCreateEditSettingsView().getMaxMessageBytes()).as("Max message bytes").isEqualTo(TOPIC_FOR_UPDATE.getMaxMessageBytes()); + softly.assertAll(); } @DisplayName("should delete topic") @@ -99,8 +101,8 @@ public class TopicTests extends BaseTest { .waitUntilScreenReady() .deleteTopic(); pages.openTopicsList(CLUSTER_NAME) - .waitUntilScreenReady() - .isTopicNotVisible(TOPIC_FOR_DELETE.getName()); + .waitUntilScreenReady(); + Assertions.assertFalse(pages.topicsList.isTopicVisible(TOPIC_FOR_DELETE.getName()),"isTopicVisible"); TOPIC_LIST.remove(TOPIC_FOR_DELETE); } @@ -119,8 +121,10 @@ public class TopicTests extends BaseTest { .setContentFiled(TOPIC_FOR_UPDATE.getMessageContent()) .setKeyField(TOPIC_FOR_UPDATE.getMessageKey()) .submitProduceMessage(); - Assertions.assertTrue(pages.topicView.isKeyMessageVisible(TOPIC_FOR_UPDATE.getMessageKey())); - Assertions.assertTrue(pages.topicView.isContentMessageVisible(TOPIC_FOR_UPDATE.getMessageContent().trim())); + SoftAssertions softly = new SoftAssertions(); + softly.assertThat(pages.topicView.isKeyMessageVisible((TOPIC_FOR_UPDATE.getMessageKey()))).withFailMessage("isKeyMessageVisible()").isTrue(); + softly.assertThat(pages.topicView.isContentMessageVisible((TOPIC_FOR_UPDATE.getMessageContent()).trim())).withFailMessage("isContentMessageVisible()").isTrue(); + softly.assertAll(); } @AfterAll