Answer the question
In order to leave comments, you need to log in
How to disable/ignore testing on the main page in Nightwatch.js?
Hello! I’ll make a reservation right away, I’m a completely, completely newbie and I haven’t come across autotests before, so don’t kick much.
There is such a simple autotest that works on all customer projects at once (and he has quite a few of them). The essence of the test is to look for links to the main page on each page of the site, and if there are less than 2 of these links, then the test fails and gives an error:
module.exports = {
disabled: false,
name: 'Ссылки на главную страницу',
subtitle: ['Ссылок на главную страницу меньше 2 шт.'],
fn: function(browser) {
browser.elements('css selector', 'a[href="/"]', function(result) {
let allLinksToMain = result.value.length;
if (allLinksToMain < 2) {
browser.verify.ok(false, 'Ссылок на главную меньше 2 шт.');
}
});
}
};
Answer the question
In order to leave comments, you need to log in
I managed to solve the problem and slightly improve the autotest. Maybe it will be useful for someone:
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 ссылка в логотипе');
}
});
}
});
}
}
);
}
};
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question