Testcafe: ожидание длины текстового поля

Я поставил maxLength на textarea и хотел бы заявить, что если я наберу больше символов, чем maxLength, дополнительные символы будут усечены. Я не мог понять, как это сделать в testcafe простым способом. Это не сработало:

.expect(Selector('textarea#announcementText').value.length)
.eql(600)

Но на value нет length. В assert API также нет функции length.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
0
513
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я придумал решение, которое кажется косвенным. Вот как это работает:

const getLengthOfAnnouncementText = ClientFunction(() => document.querySelector('textarea#announcementText').value.length);
...
.expect(getLengthOfAnnouncementText())
.eql(600)

Это работает так, как я хочу, но мне не нравится, насколько конкретна эта функция. Есть ли более простой способ сделать это?

Ответ принят как подходящий

Поле Селектор (). Значение возвращает асинхронное свойство. Вы можете получить его значение, а затем проверить его длину в утверждении:

const textAreaValue = await Selector('textarea#announcementText').value;

await t
    .expect(textAreaValue.length)
    .eql(600);

Вы также можете проверить это, используя утверждение match:

await t
    .expect(Selector('textarea#announcementText').value)
    .match(/^.{0,600}$/);

Другие вопросы по теме