ConsultantTest.java добавлен @Test isBeContextMenu()

BpPage.java добавлен метод openContextMenuByDoc()
This commit is contained in:
stud_i_sram 2025-02-06 20:37:50 +03:00
parent 9bde5a8c3d
commit be1da7e4c1
2 changed files with 31 additions and 8 deletions

View File

@ -5,27 +5,29 @@ import com.codeborne.selenide.Selenide;
import com.codeborne.selenide.SelenideElement;
import org.openqa.selenium.By;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import java.util.concurrent.TimeUnit;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.$$;
import static com.codeborne.selenide.Selenide.*;
import static java.time.temporal.ChronoUnit.SECONDS;
public class BpPage {
public static final By searchField = By.cssSelector("[test*='page-home-input']");
public static final By searchButton = By.cssSelector("[class*='x-search-box__search-button'], [test*='page-home-search-button']");
public static final By searchList = By.cssSelector("div.x-page-components-search-result-item");
public static final By contextMenu = By.cssSelector("[class='x-menu'], [test='menu']");
/**
* Делаем запрос в БП
*
* @param query запрос
* @throws InterruptedException
*/
public static void searchInInputField(String query) throws InterruptedException {
public static void searchInInputField(String query) {
$(searchField).setValue(query);
$(searchButton).click();
TimeUnit.SECONDS.sleep(2);
$(searchList).shouldBe(visible, Duration.of(3, SECONDS));
}
/**
@ -33,10 +35,21 @@ public class BpPage {
* @param index индекс документа (начинается с 0)
* @return SelenideElement
*/
public static SelenideElement takeFocusOnDocByIndex(int index) {
public static SelenideElement getOnDocByIndex(int index) {
ElementsCollection list = $$(searchList);
list.get(0).shouldBe(visible);
return list.get(0);
}
/**
* Открытие контекстного меню по ПКП
* @param index индекс документа (начинается с 0)
*/
public static void openContextMenuByDoc(int index) {
SelenideElement doc = getOnDocByIndex(index);
doc.contextClick();
$(contextMenu).shouldBe(visible, Duration.of(3, SECONDS));
}
}

View File

@ -1,5 +1,6 @@
import com.codeborne.selenide.Selenide;
import com.codeborne.selenide.SelenideElement;
import static com.codeborne.selenide.Selenide.*;
import org.testng.Assert;
import org.testng.annotations.Test;
import page.BpPage;
@ -9,7 +10,7 @@ public class ConsultantTest extends BaseTest{
private final static String TKrf = "Трудовой кодекс";
@Test(description = "Проверка поиска в БП")
public void searchInBp() throws InterruptedException {
public void searchInBp() {
// Открываем БП
StartPage.openBP();
@ -17,12 +18,21 @@ public class ConsultantTest extends BaseTest{
BpPage.searchInInputField("закон о полиции");
// Проверяем текст документа по индексу
SelenideElement doc = BpPage.takeFocusOnDocByIndex(0);
SelenideElement doc = BpPage.getOnDocByIndex(0);
boolean isCorrectTitle = doc.getText().contains("О полиции");
Assert.assertTrue(isCorrectTitle, "Документы отличаются");
}
@Test(description = "Проверка вызова контекстного меню по ПКМ")
public void isBeContextMenu() {
StartPage.openBP();
BpPage.searchInInputField(TKrf);
BpPage.openContextMenuByDoc(0);
}
}