testcafe:对文本方面长度的期望



我在 textarea上放了一个 maxLength,我想断言,如果我输入的字符比 maxLength多,则额外的字符会被截断。我无法以一种简单的方式在Testcafe中弄清楚如何做到这一点。这无效:

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

但是,value上没有length。sustert API中也没有length函数。

selector((。值字段返回异步属性。您可以获取其值,然后在断言中检查其长度:

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}$/);

我提出了一个似乎间接的解决方案。这是其工作方式:

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

这可以按照我想要的方式工作,但是我不喜欢此功能的具体方式。有一个更简单的方法吗?

相关内容

  • 没有找到相关文章

最新更新