BaseTest.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. package com.provectus.kafka.ui;
  2. import com.codeborne.selenide.Condition;
  3. import com.codeborne.selenide.Selenide;
  4. import com.codeborne.selenide.SelenideElement;
  5. import com.provectus.kafka.ui.settings.listeners.AllureListener;
  6. import com.provectus.kafka.ui.settings.listeners.LoggerListener;
  7. import com.provectus.kafka.ui.settings.listeners.QaseResultListener;
  8. import io.qameta.allure.Step;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.testng.annotations.*;
  11. import org.testng.asserts.SoftAssert;
  12. import java.util.List;
  13. import static com.provectus.kafka.ui.pages.panels.enums.MenuItem.*;
  14. import static com.provectus.kafka.ui.settings.BaseSource.BASE_UI_URL;
  15. import static com.provectus.kafka.ui.settings.drivers.WebDriver.*;
  16. import static com.provectus.kafka.ui.utilities.qaseUtils.QaseSetup.qaseIntegrationSetup;
  17. @Slf4j
  18. @Listeners({AllureListener.class, LoggerListener.class, QaseResultListener.class})
  19. public abstract class BaseTest extends Facade {
  20. @BeforeSuite(alwaysRun = true)
  21. public void beforeSuite() {
  22. qaseIntegrationSetup();
  23. loggerSetup();
  24. browserSetup();
  25. }
  26. @AfterSuite(alwaysRun = true)
  27. public void afterSuite() {
  28. browserQuit();
  29. }
  30. @BeforeMethod(alwaysRun = true)
  31. public void beforeMethod() {
  32. Selenide.open(BASE_UI_URL);
  33. naviSideBar.waitUntilScreenReady();
  34. }
  35. @AfterMethod(alwaysRun = true)
  36. public void afterMethod() {
  37. browserClear();
  38. }
  39. @Step
  40. protected void navigateToBrokers() {
  41. naviSideBar
  42. .openSideMenu(BROKERS);
  43. brokersList
  44. .waitUntilScreenReady();
  45. }
  46. @Step
  47. protected void navigateToBrokersAndOpenDetails(int brokerId) {
  48. naviSideBar
  49. .openSideMenu(BROKERS);
  50. brokersList
  51. .waitUntilScreenReady()
  52. .openBroker(brokerId);
  53. brokersDetails
  54. .waitUntilScreenReady();
  55. }
  56. @Step
  57. protected void navigateToTopics() {
  58. naviSideBar
  59. .openSideMenu(TOPICS);
  60. topicsList
  61. .waitUntilScreenReady()
  62. .setShowInternalRadioButton(false);
  63. }
  64. @Step
  65. protected void navigateToTopicsAndOpenDetails(String topicName) {
  66. navigateToTopics();
  67. topicsList
  68. .openTopic(topicName);
  69. topicDetails
  70. .waitUntilScreenReady();
  71. }
  72. @Step
  73. protected void navigateToConsumers() {
  74. naviSideBar
  75. .openSideMenu(CONSUMERS);
  76. consumersList
  77. .waitUntilScreenReady();
  78. }
  79. @Step
  80. protected void navigateToSchemaRegistry() {
  81. naviSideBar
  82. .openSideMenu(SCHEMA_REGISTRY);
  83. schemaRegistryList
  84. .waitUntilScreenReady();
  85. }
  86. @Step
  87. protected void navigateToSchemaRegistryAndOpenDetails(String schemaName) {
  88. navigateToSchemaRegistry();
  89. schemaRegistryList
  90. .openSchema(schemaName);
  91. schemaDetails
  92. .waitUntilScreenReady();
  93. }
  94. @Step
  95. protected void navigateToConnectors() {
  96. naviSideBar
  97. .openSideMenu(KAFKA_CONNECT);
  98. kafkaConnectList
  99. .waitUntilScreenReady();
  100. }
  101. @Step
  102. protected void navigateToConnectorsAndOpenDetails(String connectorName) {
  103. navigateToConnectors();
  104. kafkaConnectList
  105. .openConnector(connectorName);
  106. connectorDetails
  107. .waitUntilScreenReady();
  108. }
  109. @Step
  110. protected void navigateToKsqlDb() {
  111. naviSideBar
  112. .openSideMenu(KSQL_DB);
  113. ksqlDbList
  114. .waitUntilScreenReady();
  115. }
  116. @Step
  117. protected void verifyElementsCondition(List<SelenideElement> elementList, Condition expectedCondition) {
  118. SoftAssert softly = new SoftAssert();
  119. elementList.forEach(element -> softly.assertTrue(element.is(expectedCondition),
  120. element.getSearchCriteria() + " is " + expectedCondition));
  121. softly.assertAll();
  122. }
  123. }