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

TestCafé: How to use typeText without selector

我有两个关于 typeText 函数的问题。

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

也许 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')

我假设 entertab 会移至下一个字段,但我认为这也适用于您的第二点