Cypress.Keyboard
Keyboard API 允许你访问可用的 Keys
以配合 cy.press()
使用,或设置 .type() 命令执行的默认值。
语法
Cypress.Keyboard.Keys(key)
Cypress.Keyboard.defaults(options)
Keys 参数
key (String)
可用于 cy.press()
的按键。
支持的按键如下:
参考 | 值 |
---|---|
Cypress.Keyboard.Keys.TAB | "Tab" |
defaults 参数
options (Object)
包含以下属性的对象:
选项 | 默认值 | 描述 |
---|---|---|
keystrokeDelay | 10 | 使用 .type() 输入时按键之间的延迟时间(毫秒)。设为 0 可移除延迟。必须为非负数。 |
示例
按下 Tab 键
cy.press(Cypress.Keyboard.Keys.TAB)
cy.get('input.second').should('have.focus')
通过增加按键延迟来减慢输入速度
Cypress.Keyboard.defaults({
keystrokeDelay: 20,
})
移除按键延迟
Cypress.Keyboard.defaults({
keystrokeDelay: 0,
})
注意事项
Keyboard 配置的放置位置
放置此配置的理想位置是在 supportFile中, 因为它会在任何测试文件执行前加载。
在测试配置中设置按键延迟
按键延迟也可以通过测试配置设置,这在为单个测试或一组测试设置时非常有用。
it(
'在本测试中移除所有输入的按键延迟',
{ keystrokeDelay: 0 },
() => {
cy.get('input').eq(0).type('快速输入')
cy.get('input').eq(1).type('更快的输入')
}
)
describe(
'在本套件中所有测试中移除按键延迟',
{ keystrokeDelay: 0 },
() => {
it('在第一个输入框中快速输入', () => {
cy.get('input').eq(0).type('快速输入')
})
it('在第二个输入框中快速输入', () => {
cy.get('input').eq(1).type('更快的输入')
})
}
)