TestCafe вызвал «ошибку подтверждения», когда утверждение было правильным - PullRequest
0 голосов
/ 18 февраля 2020

В настоящее время я использую Testcafe для en-to-end тестирования, и мне нужно было подтвердить, правильно ли отображается текст. код написан так, как показано ниже:

 await t
    .expect(Selector('div:nth-child(5) > div > table:nth-child(3) > tbody > tr:nth-child(1)  
        td:nth-child(1)').filterVisible().innerText).contains('FOR LEASE')
    .expect(Selector('div:nth-child(5) > div > table:nth-child(5) > tbody > tr:nth-child(1) > 
        td:nth-child(1)').filterVisible().innerText).contains('200 Granville Street')

но, к моему удивлению, я получил сообщение об ошибке на консоли ниже:

?? изображение ошибки консоли

DEBUGGER PAUSE ON FAILED TEST:
AssertionError: expected 'FOR LEASE' to include 'FOR LEASE'

Из-за ошибки консоли текст элемента был таким же, как мое утверждение. Поэтому я не понимаю, почему это не удается. Пожалуйста, помогите с некоторыми предложениями.

Кроме того, я сначала попробовал .eql() перед уменьшением строгого равенства с помощью .contains(). Тем не менее, я получил ту же ошибку на обоих.

1 Ответ

1 голос
/ 26 февраля 2020

После тщательной отладки этой проблемы я обнаружил, что

при редактировании документа, веб-сайт encodes string (при преобразовании его в PDF) перед сохранением. Следовательно, когда я пытался подтвердить изменение после того, как текст был сохранен, это не удалось (хотя слова выглядели одинаково визуально). Эта ошибка была, в частности, из-за кодировки пробелов.

что сделало работу, чтобы утвердить разделы строки без пробелов

Теперь вопрос : В будущем сценарии, подобном этому, как я могу нормализовать кодированное пространство перед утверждением, чтобы я не всегда находил легкий выход, как я делал выше

...