【问题标题】:TestCafé: How to use typeText without selectorTestCafé:如何在没有选择器的情况下使用 typeText
【发布时间】:2019-05-07 09:09:01
【问题描述】:

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

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

【问题讨论】:

    标签: javascript testing automated-tests e2e-testing testcafe


    【解决方案1】:

    也许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 将移至下一个字段,但我认为这也适用于您的第二点

    【讨论】:

    • 我不知道这行得通。虽然它看起来有点hacky,但它确实完成了这项工作,所以非常感谢!关于第二个问题的任何想法?
    • @AndreasRemdt .pressKey('enter') 自己工作吗?是什么将其移动到下一个字段而无需先输入?
    • 考虑一下,它可以使用.pressKey('tab') 工作,完全避免.typeText 操作。我会看看这个。
    猜你喜欢
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    相关资源
    最近更新 更多