Я использую приведенный ниже код, чтобы сравнить элемент из aria-checked="false"
.
expect((accessPolicyPage.listSelectAll).getAttribute("aria-checked")).toEqual("false");
Результат равен Expected [ 'false' ] to equal 'false'
.
Я также попытался использовать toBeFalsy()
.
Ниже приведен ответ на этот вопрос.
expect((accessPolicyPage.listSelectAll).get(0).getAttribute("aria-checked")).toEqual("false");
Это займет точное значение из массива.
Спасибо Арсени за подсказку, чтобы найти ответ.
.get(0)
вы можете использовать более читаемый .first()
.
accessPolicyPage.listSelectAll
возвращает список элементов. Поскольку у вас есть только один элемент, он возвращает массив с одним элементом. Итак, почему " Expected [ 'false' ] to equal 'false'
.
Чтобы проверить это, вам нужно либо пройти через возвращаемые элементы, как это, и проверить каждый атрибут атрибута aria-checked
check следующим образом:
var elements = accessPolicyPage.listSelectAll;
elements.forEach(function(singleElement) {
expect(singleElement.getAttribute("aria-checked")).toEqual("false");
});
или просто сделайте это так:
expect((accessPolicyPage.listSelectAll).getAttribute("aria-checked")[0]).toEqual("false");
Попробуйте, пожалуйста, и если это не поможет, напишите комментарий. Я постараюсь предоставить дополнительную помощь