首页 > 解决方案 > TestCafé:如何在没有选择器的情况下使用 typeText

问题描述

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

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

标签: javascripttestingautomated-testse2e-testingtestcafe

解决方案


也许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会转移到下一个领域,但我认为这也适用于你的第二点


推荐阅读