РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1116 of 1361 menu

Метод assertSelectorExists

Метод assertSelectorExists относится к трейту WebTestCase и проверяет, что на текущей странице присутствует хотя бы один элемент, соответствующий CSS-селектору. Первым параметром передаётся строка с селектором. Если элемент не найден, тест падает с исключением AssertionFailedError. Метод удобен для проверки, что страница отрендерила нужный блок, кнопку, форму или ссылку.

Синтаксис

assertSelectorExists(string $selector): void

Пример

Давайте создадим тест, который открывает страницу и проверяет наличие заголовка h1:

<?php namespace AppTestsController; use SymfonyBundleFrameworkBundleTestWebTestCase; class ArticleControllerTest extends WebTestCase { public function testIndex(): void { $client = static::createClient(); $client->request('GET', '/article'); $this->assertSelectorExists('h1'); } } ?>

Если на странице есть тег h1, тест завершится успешно. Иначе будет выброшено исключение с сообщением о том, что селектор не найден.

Пример

Давайте проверим наличие элемента с конкретным CSS-классом .article-item:

<?php namespace AppTestsController; use SymfonyBundleFrameworkBundleTestWebTestCase; class ArticleControllerTest extends WebTestCase { public function testArticleList(): void { $client = static::createClient(); $client->request('GET', '/articles'); $this->assertSelectorExists('.article-item'); } } ?>

Метод поддерживает любые CSS-селекторы: по тегу, классу, идентификатору, атрибуту и их комбинации. Например, '#main', 'div.content' или 'a[href="/user"]'.

Пример

Давайте проверим наличие ссылки с определённым атрибутом href на странице:

<?php namespace AppTestsController; use SymfonyBundleFrameworkBundleTestWebTestCase; class ArticleControllerTest extends WebTestCase { public function testUserLink(): void { $client = static::createClient(); $client->request('GET', '/article'); $this->assertSelectorExists('a[href="/user"]'); } } ?>

Если ссылка с таким адресом присутствует в HTML-ответе, тест пройдёт успешно.

Смотрите также

  • метод assertSelectorNotExists,
    который проверяет отсутствие элемента по селектору
  • метод assertSelectorTextContains,
    который проверяет, что текст элемента содержит подстроку
  • метод assertSelectorCount,
    который проверяет количество элементов по селектору
  • класс WebTestCase,
    который предоставляет методы для функциональных тестов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить