TestCafé:如何在不使用选择器的情况下使用typeText

时间:2019-05-07 09:09:02

标签: javascript testcafe

我对typeText函数有两个疑问。

  1. 根据文档,我需要两个参数:选择器和要键入的文本。但是,我正在测试一个自动将焦点设置在输入元素上的应用程序,我不能依靠其ID,类或任何Selector所需要的东西。我只想输入,就像在赛普拉斯中一样,无需先选择任何内容。这可能吗?
  2. typeText方法还需要第二个参数(文本)。但是有时候,我不想在字段中输入任何文本(例如测试登录组件)。现在,我需要为这些类型的测试创建条件,因为TestCafé会在空字符串上引发错误。有更好的方法吗?
static async login({ email = '', password = '' }) {
  await t
    .typeText('#email', email)
    .typeText('#password', password)
    .click('#submit');
}

1 个答案:

答案 0 :(得分:4)

也许pressKey对您有用吗?它要求输入以空格分隔,但不需要选择器。 Documentation for pressKey

示例:

await t
    .pressKey('u s e r @ t e s t . c o m enter')
    .pressKey('p a s s w o r d enter')

我假设enter或也许tab将移至下一个字段,但我认为这也可能适用于您的第二点