• Как в Nightwatch.js запретить/игнорировать тестирование на главной странице?

    @AntonVir Автор вопроса
    Удалось решить задачу и немного улучшить автотест. Может быть кому-нибудь будет полезно:
    module.exports = {
        disabled: false,
        name: 'Ссылки на главную страницу',
        components: ['webmaster'],
        subtitle: [
            'Ссылок на главную меньше 2 шт. Отсутствуют ссылки в хэдере или футере',
            'Отсутствует хотя бы 1 ссылка в логотипе',
        ],
        fn: function(browser) {
            browser.execute(
                function() {
                    // Собираем по частям адрес главной страницы
                    let mainPageUrl = window.location.protocol + "//" + window.location.host + "/";
                    // Получаем адрес текущей страницы
                    let currentUrl = window.location.href;
                    // Создаем объект с полученными адресами
                    return result = {
                        main: mainPageUrl,
                        current: currentUrl,
                    }
                }, [],
                function(result) {
                    // Сравниваем адреса текущей и главной страниц, если они отличаются, то выполняем поиск <a> на главную страницу
                    if (result.value.current !== result.value.main) {
    
                        // Находим все <a>, ведущие на главную страницу
                        browser.elements('css selector', 'a[href="/"]', function(result) {
                            // Если <a> на главную меньше 2 шт., то выводим ошибку, если все Ок - идём дальше
                            if (result.value.length < 2) {
                                browser.verify.ok(false, 'Ссылок на главную меньше 2 шт. Отсутствуют ссылки в хэдере или футере');
                            } else {
                                // Находим все <img> и <svg>, обёрнутые в <a>, которые ведут на главную страницу
                                browser.elements('css selector', 'a[href="/"] > img, a[href="/"] > svg', function(result) {
                                    // Если <img> и <svg>, обёрнутых в <a> меньше 1 шт., то выводим ошибку
                                    if (result.value.length < 1) {
                                        browser.verify.ok(false, 'Отсутствует хотя бы 1 ссылка в логотипе');
                                    }
                                });
                            }
                        });
    
                    }
                }
            );
        }
    };
    Ответ написан
    Комментировать