diff --git a/src/main/java/page/DialogPage.java b/src/main/java/page/DialogPage.java index c77d273..4c1332c 100644 --- a/src/main/java/page/DialogPage.java +++ b/src/main/java/page/DialogPage.java @@ -1,16 +1,35 @@ package page; +import com.codeborne.selenide.ElementsCollection; +import com.codeborne.selenide.SelenideElement; import org.openqa.selenium.By; +import java.time.Duration; +import java.time.temporal.ChronoUnit; + import static com.codeborne.selenide.Selenide.$; +import static com.codeborne.selenide.Selenide.getSelectedText; +import static com.codeborne.selenide.Condition.*; public class DialogPage { - public static final By dialogPopUp = By.cssSelector("[test*='popup-search-text']"); + public static final By dialogPopUp = By.cssSelector("[class*='popupFrame']:not([class*='popupFrameContainer'])"); public static final By inputSearchLine = By.cssSelector("[class*='x-input__field']"); public static final By searchBtn = By.cssSelector("[class='x-search-box__search-button']"); + public static final By primaryBtn = By.cssSelector("[test*='ok-button']"); + public static final By oneItem = By.cssSelector("[class*='x-list__item']"); public static void searchInFieldByQuery(String query) { $(inputSearchLine).sendKeys(query); $(searchBtn).click(); } + + public static void searchInFieldWithTreeByQuery(String query) { + $(inputSearchLine).sendKeys(query); + $(searchBtn).click(); + ElementsCollection response = $(dialogPopUp).$$(oneItem); + SelenideElement line = response.findBy(text(query)); + line.shouldBe(visible, Duration.of(10, ChronoUnit.SECONDS)); + $(dialogPopUp).$(primaryBtn).click(); + } + } diff --git a/src/main/java/page/KpPage.java b/src/main/java/page/KpPage.java index 3f9f544..035df5e 100644 --- a/src/main/java/page/KpPage.java +++ b/src/main/java/page/KpPage.java @@ -3,22 +3,27 @@ package page; import com.codeborne.selenide.ElementsCollection; import com.codeborne.selenide.SelenideElement; import org.openqa.selenium.By; -import org.openqa.selenium.NotFoundException; + +import java.time.Duration; +import java.time.temporal.ChronoUnit; import static com.codeborne.selenide.Selenide.*; import static com.codeborne.selenide.Condition.*; public class KpPage { public static final By cardBlock = By.cssSelector("[class='x-tabs__content x-page-card-tabs__page']"); - public static final By fieldsList = By.cssSelector("[test='card-field-list-table']"); + public static final By fieldsList = By.cssSelector("[test*='card-field-row']"); public static final By clearCardBtn = By.cssSelector("[test='card-clear-button']"); public static final By cardTabMain = By.cssSelector("[test*='card-tab-0']"); + // Исправить, тк всегда открывает Текст документа public static void openSearchDialogByFieldName(String fieldName) { ElementsCollection list = $$(fieldsList); + System.out.println(list.texts()); SelenideElement oneField = list.findBy(text(fieldName)); - oneField.$("[test='card-field-value-content']").click(); - $(DialogPage.dialogPopUp).shouldBe(visible); + System.out.println(oneField.text()); + oneField.$("[test='card-field-value-content']").doubleClick(); + $(DialogPage.dialogPopUp).shouldBe(visible, Duration.of(3, ChronoUnit.SECONDS)); } public static void checkValueInFieldAfterSearch(String fieldName, String query) { @@ -33,4 +38,9 @@ public class KpPage { checkValueInFieldAfterSearch(fieldName, query); } + public static void searchInFieldWithTree(String fieldName, String query) { + openSearchDialogByFieldName(fieldName); + DialogPage.searchInFieldWithTreeByQuery(query); + checkValueInFieldAfterSearch(fieldName, query); + } } diff --git a/src/test/java/ConsultantTest.java b/src/test/java/ConsultantTest.java index 28b4bea..60514c0 100644 --- a/src/test/java/ConsultantTest.java +++ b/src/test/java/ConsultantTest.java @@ -41,9 +41,22 @@ public class ConsultantTest extends BaseTest{ BpPage.openFullTreeList(); } - @Test(description = "Проверка поиска в КП по полю текст документа") - public void searchInKp() { + @Test(description = "Проверка поиска в КП по полю Название документа") + public void searchInKpByName() { StartPage.openKP(); KpPage.searchInFieldWithoutTree("Название документа", "Закон о полиции"); } + + @Test(description = "Проверка поиска в КП по полю Текст документа") + public void searchInKpByText() { + StartPage.openKP(); + KpPage.searchInFieldWithoutTree("Текст документа", "Закон о полиции"); + } + + @Test(description = "Проверка поиска в КП по полю Вид документа") + public void searchInKpByNumber() { + StartPage.openKP(); + KpPage.searchInFieldWithTree("Вид документа", "Заключение"); + } + }