Стажер по функциональному тестированию, как перебирать массив элементов

Во-первых, позвольте мне сказать, что я новичок в стажировке и API Leadfoot. То, что я пытаюсь сделать, это перебрать массив элементов и выполнить утверждение для каждого из них. Вот мой код:

'Alerts': function () {
        return this.remote 
        .get(require.toUrl(url))
        .setFindTimeout(timeout)
        .findById('alertsHeader')
        .click()
        .end()
        .findByClassName('_3WMFy')
        .findAllByCssSelector('div')
        .getVisibleText()
        .then(function(texts){
            assert.equal(texts, [ 'ALL', 'P1', 'P2', 'P3' ]);   

        });
    }

Однако тест завершается со следующим выводом:

AssertionError: expected [ 'ALL', 'P1', 'P2', 'P3' ] to equal [ 'ALL', 'P1', 'P2', 'P3' ]

Может ли кто-нибудь объяснить эту ошибку? Может быть, я что-то упускаю (как это часто бывает), но я какое-то время смотрел на это, и я почти уверен, что эти двое равны. Поэтому я намеренно изменил одну строку, чтобы один из элементов не совпадал, и получил следующую ошибку:

    AssertionError: expected [ 'ALL', 'P1', 'P2', 'P3' ] to equal [ 'ALL', 'P1', 'P2', 'P377' ]

  [
    0: "ALL",
    1: "P1",
    2: "P2",
E   3: "P377",
A   3: "P3",
    length: 4
  ]

У меня вопросы: я что-то не так делаю или это баг? Это правильный способ повторения этих элементов, или я должен делать что-то еще? Можно ли здесь использовать цикл for? Как лучше всего это сделать? Любая оказанная помощь будет высоко оценена!


person Williz    schedule 09.08.2017    source источник
comment
Как вы думаете, что означает assert? В словаре сказано, что это означает утвердительно и убедительно констатировать факт или убеждение. Другими словами, во втором примере вы утверждаете убеждение, что [ 'ALL', 'P1', 'P2', 'P3' ] равно [ 'ALL', 'P1', 'P2', 'P377' ], и задаетесь вопросом, почему ваш компилятор спорит с вами? Сообщение об ошибке понятно; он говорит вам, что ваше утверждение неверно.   -  person autistic    schedule 17.08.2017
comment
Да, я понимаю это. Это был не мой вопрос. Я знаю, что [ 'ALL', 'P1', 'P2', 'P3' ] не равно [ 'ALL', 'P1', 'P2', 'P377' ] Я поместил этот пример, чтобы показать, что он дал мне другой вывод в сообщении об ошибке. Мой вопрос заключался в том, почему он говорит мне, что ['ALL', 'P1', 'P2', 'P3'] не равно ['ALL', 'P1', 'P2', 'P3']? Я нашел ответ в ссылке, размещенной выше, что я должен использовать deepEqual(). Спасибо   -  person Williz    schedule 18.08.2017