Codeception, не печатайте конкретное действие для отчета

В коде я хочу проверить, существует ли элемент на странице, и выполнить еще один тест, если существует первый элемент. Я могу сделать это просто:

// $I is a AcceptanceTester Object and extends \Codeception\Actor class
try{
    $I->see('.firstElement');
}catch(ElementNotFound $e){
    // do some actions
}
    // do some anothers actions

Но если я это сделаю, то в файле отчета я увижу строчку "I see '.firstElement'". Я не хочу видеть этот тест в этом отчете.

Мой вопрос: как я могу спокойно вызвать метод \Codeception\Actor? Я просто хочу выполнить простую проверку HTML-элемента DOM и не печатать это действие в сгенерированном отчете.

вы используете WebDriver?

Maksym Fedorov 27.03.2019 14:46

Да =) Я использую Webdriver с браузером Chrome (безголовым или нет)

spacecodeur 27.03.2019 14:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
5
2
174
1

Ответы 1

Вы можете создать простой вспомогательный модуль для проверки существования элементов. Он может использовать модуль Вебдрайвер или модуль PhpБраузер для поиска элементов. Например:

class ElementChecker extends \Codeception\Module
{
    public function checkExistence($locator)
    {
        $elements = $this->getModule('WebDriver')->_findElements($locator);
        return !empty($elements);
    }
},

После этого вы должны добавить этот помощник в свою конфигурацию кода. Например:

actor: SomeTester
modules:
    enabled:
        # some modules
        - ElementChecker

И новые методы будут включены в класс тестера. Вы можете использовать их:

if ($I->checkExistence('.firstElement')) {
    // some code
}

Кроме того, вы можете узнать больше о хелперах в официальная документация.

Другие вопросы по теме