Testcafe:对文本区域长度的期望
Testcafe: Expectation on the length of a textarea
我把 maxLength
放在 textarea
上,我想断言如果我键入的字符多于 maxLength
,多余的字符将被截断。我不知道如何在 testcafe 中以一种简单的方式做到这一点。这没有用:
.expect(Selector('textarea#announcementText').value.length)
.eql(600)
但是,value
上面没有 length
。断言 API 中也没有 length
函数。
我想出了一个看似间接的解决方案。运作方式如下:
const getLengthOfAnnouncementText = ClientFunction(() => document.querySelector('textarea#announcementText').value.length);
...
.expect(getLengthOfAnnouncementText())
.eql(600)
这按我想要的方式工作,但我不喜欢这个功能的具体性。有没有更简单的方法来做到这一点?
Selector().value 字段 returns 异步 属性。你可以得到它的值,然后在断言中检查它的长度:
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}$/);
我把 maxLength
放在 textarea
上,我想断言如果我键入的字符多于 maxLength
,多余的字符将被截断。我不知道如何在 testcafe 中以一种简单的方式做到这一点。这没有用:
.expect(Selector('textarea#announcementText').value.length)
.eql(600)
但是,value
上面没有 length
。断言 API 中也没有 length
函数。
我想出了一个看似间接的解决方案。运作方式如下:
const getLengthOfAnnouncementText = ClientFunction(() => document.querySelector('textarea#announcementText').value.length);
...
.expect(getLengthOfAnnouncementText())
.eql(600)
这按我想要的方式工作,但我不喜欢这个功能的具体性。有没有更简单的方法来做到这一点?
Selector().value 字段 returns 异步 属性。你可以得到它的值,然后在断言中检查它的长度:
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}$/);