Сообщение об ошибке «аргумент« индекс », как ожидается, будет числом, но это был номер», неясно - PullRequest
0 голосов
/ 29 мая 2018

При написании автоматизированного теста для веб-сайта я получил следующую очень странную ошибку: здесь повторяются строки кода:

  68    let selected
  69    if( params.includes('-RB') ){
  70         let books = Selector('.actions > .link-learn > div').withText('VIEW PRODUCT')
  71         const index = books.count
  72         selected = books.nth( Math.floor(Math.random() * index) );
  73     }

, а testcafe подает следующую жалобу в строке 72.

 "index" argument is expected to be a number, but it was number.

И в моей программе нет строк, переменных и т. Д. С именами с номерами.Итак, что означает эта ошибка, и, возможно, эта ошибка должна выдать другое сообщение, которое немного более ясно.

спасибо

1 Ответ

0 голосов
/ 30 мая 2018

Вы пропустили await в строке 71. Это должно быть

const index = await books.count

Без await вместо фактического свойства count вы получаете оболочку Promise.На следующей строке Обещание превращается в NaN (не число) в выражении Math.random() * index.Проверка типа завершается неудачно, потому что NaN не является допустимым числом, но в JavaScript NaN принадлежит типу number, о котором сообщается в сообщении об ошибке.Вот почему в отчете об ошибке содержится глупое сообщение expected to be a number, but it was number.

Спасибо за отзыв и помогли мне зафиксировать ошибку, я создал проблему по этому поводу: https://github.com/DevExpress/testcafe/issues/2470. Я думаю, что мы будемисправить это в следующем выпуске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...