我把 a 放在 amaxLength
上textarea
,我想断言,如果我键入的字符多于maxLength
,多余的字符将被截断。我无法弄清楚如何在 testcafe 中以简单的方式做到这一点。这不起作用:
.expect(Selector('textarea#announcementText').value.length)
.eql(600)
但是,value
没有一个length
就可以了。断言 API 中也没有length
函数。
我把 a 放在 amaxLength
上textarea
,我想断言,如果我键入的字符多于maxLength
,多余的字符将被截断。我无法弄清楚如何在 testcafe 中以简单的方式做到这一点。这不起作用:
.expect(Selector('textarea#announcementText').value.length)
.eql(600)
但是,value
没有一个length
就可以了。断言 API 中也没有length
函数。
Selector().value字段返回一个异步属性。您可以获取它的值,然后在断言中检查它的长度:
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)
这按我想要的方式工作,但我不喜欢这个功能的具体程度。有没有更简单的方法来做到这一点?