Написание теста на nigthwatch api
Тест должен вытаскивать из кода страницы теги iframe.object и embed и проверять вложены ли они в див с определённым классом. Код приложил, в ходе теста он не может даже вытащить тег со страницы, кто может подсказать где моя ошибка? В тестировании недавно, пишу первый тест.
module.exports = {
disabled: false,
subtitle: [
'Тег iframe не находится внутри тега x-published-content или .responsive-embed',
'Тег object не находится внутри тега x-published-content или .responsive-embed',
'Тег embed не находится внутри тега x-published-content или .responsive-embed'
],
fn: function(browser) {
browser.execute(
function() {
let result = {
frame: false,
object: false,
embed: false
};
function checkElementFrame(elem) {
if (elem.parentNode.getAttribute('div') == 'x-published-content') {
return false;
}
if (elem.parentNode.getAttribute('div') == 'responsive-embed') {
return false;
} else {
return true;
}
}
function checkElementObject(elem) {
if (elem.tagName === 'OBJECT') {
if (elem.parentNode.getAttribute('div') == 'x-published-content') {
return true;
}
if (elem.parentNode.getAttribute('div') == 'responsive-embed') {
return true;
}
} else {
return false;
}
}
function checkElementEmbed(elem) {
if (elem.tagName === 'EMBED') {
if (elem.parentNode.getAttribute('div') == 'x-published-content') {
return true;
}
if (elem.parentNode.getAttribute('div') == 'responsive-embed') {
return true;
}
} else {
return false;
}
}
document
elem.getElementsByTagName === 'IFRAME'
.forEach(function(elem) {
if (result.frame === false) {
result.frame = checkElementFrame(elem);
}
if (result.object === false) {
result.object = checkElementObject(elem);
}
if (result.embed === false) {
result.embed = checkElementEmbed(elem);
}
if (result.frame === true && result.object === true && result.embed === true) {
return result;
}
});
return result;
},
function(data) {
if (data.value.frame === true) {
browser.verify.ok(false, 'Тег iframe не находится внутри тега x-published-content или .responsive-embed');
}
if (data.value.object === true) {
browser.verify.ok(false, 'Тег object не находится внутри тега x-published-content или .responsive-embed');
}
if (data.value.embed === true) {
browser.verify.ok(false, 'Тег embed не находится внутри тега x-published-content или .responsive-embed');
}
}
);
}
};