WebUtils.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.provectus.kafka.ui.utilities;
  2. import static com.codeborne.selenide.Selenide.executeJavaScript;
  3. import com.codeborne.selenide.Condition;
  4. import com.codeborne.selenide.SelenideElement;
  5. import com.codeborne.selenide.WebDriverRunner;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.openqa.selenium.Keys;
  8. import org.openqa.selenium.interactions.Actions;
  9. @Slf4j
  10. public class WebUtils {
  11. public static void clickByActions(SelenideElement element) {
  12. log.debug("\nclickByActions: {}", element.getSearchCriteria());
  13. element.shouldBe(Condition.enabled);
  14. new Actions(WebDriverRunner.getWebDriver())
  15. .moveToElement(element)
  16. .click(element)
  17. .perform();
  18. }
  19. public static void clickByJavaScript(SelenideElement element) {
  20. log.debug("\nclickByJavaScript: {}", element.getSearchCriteria());
  21. element.shouldBe(Condition.enabled);
  22. String script = "arguments[0].click();";
  23. executeJavaScript(script, element);
  24. }
  25. public static void clearByKeyboard(SelenideElement field) {
  26. log.debug("\nclearByKeyboard: {}", field.getSearchCriteria());
  27. field.shouldBe(Condition.enabled).sendKeys(Keys.END);
  28. field.sendKeys(Keys.chord(Keys.CONTROL + "a"), Keys.DELETE);
  29. }
  30. public static boolean isVisible(SelenideElement element) {
  31. log.debug("\nisVisible: {}", element.getSearchCriteria());
  32. boolean isVisible = false;
  33. try {
  34. element.shouldBe(Condition.visible);
  35. isVisible = true;
  36. } catch (Throwable e) {
  37. log.debug("{} is not visible", element.getSearchCriteria());
  38. }
  39. return isVisible;
  40. }
  41. public static boolean isEnabled(SelenideElement element) {
  42. log.debug("\nisEnabled: {}", element.getSearchCriteria());
  43. boolean isEnabled = false;
  44. try {
  45. element.shouldBe(Condition.enabled);
  46. isEnabled = true;
  47. } catch (Throwable e) {
  48. log.debug("{} is not enabled", element.getSearchCriteria());
  49. }
  50. return isEnabled;
  51. }
  52. public static boolean isSelected(SelenideElement element) {
  53. log.debug("\nisSelected: {}", element.getSearchCriteria());
  54. boolean isSelected = false;
  55. try {
  56. element.shouldBe(Condition.selected);
  57. isSelected = true;
  58. } catch (Throwable e) {
  59. log.debug("{} is not selected", element.getSearchCriteria());
  60. }
  61. return isSelected;
  62. }
  63. public static boolean selectElement(SelenideElement element, boolean select){
  64. if (select) {
  65. if (!element.isSelected()) clickByJavaScript(element);
  66. } else {
  67. if (element.isSelected()) clickByJavaScript(element);
  68. }
  69. return true;
  70. }
  71. }