- добавлены методы для поиска по древо-видным полям КП

This commit is contained in:
stud_i_sram 2025-02-07 16:32:09 +03:00
parent 08461b6c92
commit 84be994715
3 changed files with 49 additions and 7 deletions

View File

@ -1,16 +1,35 @@
package page; package page;
import com.codeborne.selenide.ElementsCollection;
import com.codeborne.selenide.SelenideElement;
import org.openqa.selenium.By; 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.$;
import static com.codeborne.selenide.Selenide.getSelectedText;
import static com.codeborne.selenide.Condition.*;
public class DialogPage { 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 inputSearchLine = By.cssSelector("[class*='x-input__field']");
public static final By searchBtn = By.cssSelector("[class='x-search-box__search-button']"); 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) { public static void searchInFieldByQuery(String query) {
$(inputSearchLine).sendKeys(query); $(inputSearchLine).sendKeys(query);
$(searchBtn).click(); $(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();
}
} }

View File

@ -3,22 +3,27 @@ package page;
import com.codeborne.selenide.ElementsCollection; import com.codeborne.selenide.ElementsCollection;
import com.codeborne.selenide.SelenideElement; import com.codeborne.selenide.SelenideElement;
import org.openqa.selenium.By; 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.Selenide.*;
import static com.codeborne.selenide.Condition.*; import static com.codeborne.selenide.Condition.*;
public class KpPage { public class KpPage {
public static final By cardBlock = By.cssSelector("[class='x-tabs__content x-page-card-tabs__page']"); 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 clearCardBtn = By.cssSelector("[test='card-clear-button']");
public static final By cardTabMain = By.cssSelector("[test*='card-tab-0']"); public static final By cardTabMain = By.cssSelector("[test*='card-tab-0']");
// Исправить, тк всегда открывает Текст документа
public static void openSearchDialogByFieldName(String fieldName) { public static void openSearchDialogByFieldName(String fieldName) {
ElementsCollection list = $$(fieldsList); ElementsCollection list = $$(fieldsList);
System.out.println(list.texts());
SelenideElement oneField = list.findBy(text(fieldName)); SelenideElement oneField = list.findBy(text(fieldName));
oneField.$("[test='card-field-value-content']").click(); System.out.println(oneField.text());
$(DialogPage.dialogPopUp).shouldBe(visible); oneField.$("[test='card-field-value-content']").doubleClick();
$(DialogPage.dialogPopUp).shouldBe(visible, Duration.of(3, ChronoUnit.SECONDS));
} }
public static void checkValueInFieldAfterSearch(String fieldName, String query) { public static void checkValueInFieldAfterSearch(String fieldName, String query) {
@ -33,4 +38,9 @@ public class KpPage {
checkValueInFieldAfterSearch(fieldName, query); checkValueInFieldAfterSearch(fieldName, query);
} }
public static void searchInFieldWithTree(String fieldName, String query) {
openSearchDialogByFieldName(fieldName);
DialogPage.searchInFieldWithTreeByQuery(query);
checkValueInFieldAfterSearch(fieldName, query);
}
} }

View File

@ -41,9 +41,22 @@ public class ConsultantTest extends BaseTest{
BpPage.openFullTreeList(); BpPage.openFullTreeList();
} }
@Test(description = "Проверка поиска в КП по полю текст документа") @Test(description = "Проверка поиска в КП по полю Название документа")
public void searchInKp() { public void searchInKpByName() {
StartPage.openKP(); StartPage.openKP();
KpPage.searchInFieldWithoutTree("Название документа", "Закон о полиции"); KpPage.searchInFieldWithoutTree("Название документа", "Закон о полиции");
} }
@Test(description = "Проверка поиска в КП по полю Текст документа")
public void searchInKpByText() {
StartPage.openKP();
KpPage.searchInFieldWithoutTree("Текст документа", "Закон о полиции");
}
@Test(description = "Проверка поиска в КП по полю Вид документа")
public void searchInKpByNumber() {
StartPage.openKP();
KpPage.searchInFieldWithTree("Вид документа", "Заключение");
}
} }