Для каждого изображения на странице я создаю привязку вокруг него, используя js, поэтому я хочу написать тест, чтобы убедиться, что он там есть.
Использование ночных часов Я пытаюсь выполнить тест, чтобы убедиться, что каждое изображение имеет родительский якорь.
Я пытался выполнить этот тест, используя три различных метода.
- Тестявляется ли каждый родительский родительский объект якорем
- Проверьте, является ли каждый дочерний объект якорей изображением
- Соберите массив всех изображений и массив всех якорей для сравнения там длины
Я не мог придумать, как выполнить первые два, поэтому я пытался выполнить третий, так как это казалось наиболее логичным, однако у меня возникли проблемы с созданием двух массивов элементов для сравнения.
Я пробовал варианты приведенного ниже кода, пытаясь получить массив обоих элементов или их идентификаторов элементов, чтобы я мог их сравнить, но безуспешно
Если у кого-то есть какие-либо предложения о том, какдостичь этого я все уши. Также можно отказаться от моего третьего подхода, если первые два более вероятны.
Спасибо за любую помощь, которую вы можете предложить.
Вот то, что я пытался:
html после того, как JavaScript обернул изображения
<figure class="figure-image">
<a role="button">
<img src="image-source" alt="image-alt" />
</a>
</figure>
<figure class="figure-image">
<a role="button">
<img src="image-source" alt="image-alt" />
</a>
</figure>
<figure class="figure-image">
<a role="button">
<img src="image-source" alt="image-alt" />
</a>
</figure>
<figure class="figure-image">
<a role="button">
<img src="image-source" alt="image-alt" />
</a>
</figure>
**Image Tests**
// Both anchor.length and image.length are 0 so of course the tests pass
'Anchors will be created for each image found': browser => {
browser.elements('css selector', '.figure-image', elem => {
// return elem.value
elem.value.map(figure => {
const anchors = browser.elementIdElements(figure.ELEMENT, 'tag name', 'a', anchor => { return anchor.value })
const images = browser.elementIdElements(figure.ELEMENT, 'tag name', 'img', image => { return image.value })
browser.assert.equal(anchors.length, images.length, 'Anchors match the amount of images')
})
})
}
// Each anchors and images are just an object of nightwatch api commands when I log them out
'Anchors will be created for each image found': browser => {
const anchors = browser.elements('css selector', '.figure-image > a', elem => {
return elem.value
})
const images = browser.elements('css selector', '.figure-image > a > img', elem => {
return elem.value
})
browser.assert.equal(anchors.length, images.length, 'Anchors match the amount of images')
}