ложное значение не равно в жасмине

0

Я использую приведенный ниже код, чтобы сравнить элемент из aria-checked="false".

expect((accessPolicyPage.listSelectAll).getAttribute("aria-checked")).toEqual("false");

Результат равен Expected [ 'false' ] to equal 'false'.

Я также попытался использовать toBeFalsy().

  • 0
    Это должно быть помечено как javascript вместо java. Возможно ли, что вы получаете массив с одним значением («ложь»)?
Теги:
protractor
jasmine

2 ответа

3
Лучший ответ

Ниже приведен ответ на этот вопрос.

expect((accessPolicyPage.listSelectAll).get(0).getAttribute("aria-checked")).toEqual("false");

Это займет точное значение из массива.

Спасибо Арсени за подсказку, чтобы найти ответ.

  • 1
    Вы должны принять это как свой ответ
  • 1
    Кстати, вместо .get(0) вы можете использовать более читаемый .first() .
1

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");

Попробуйте, пожалуйста, и если это не поможет, напишите комментарий. Я постараюсь предоставить дополнительную помощь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню