Cypress.Keyboard
The Keyboard API allows you to access available Keys
for use with cy.press()
or to set the default values for how the
.type() command is executed.
Syntax​
Cypress.Keyboard.Keys(key)
Cypress.Keyboard.defaults(options)
Keys Arguments​
key (String)
The key available for cy.press()
.
The following keys are supported:
Reference | Value |
---|---|
Cypress.Keyboard.Keys.TAB | "Tab" |
defaults Arguments​
options (Object)
An object containing the following:
Option | Default | Description |
---|---|---|
keystrokeDelay | 10 | The delay, in milliseconds, between keystrokes while typing with .type(). Set to 0 to remove the delay. Must be a non-negative number. |
Examples​
Press tab key​
cy.press(Cypress.Keyboard.Keys.TAB)
cy.get('input.second').should('have.focus')
Slow down typing by increasing the keystroke delay​
Cypress.Keyboard.defaults({
keystrokeDelay: 20,
})
Remove the keystroke delay​
Cypress.Keyboard.defaults({
keystrokeDelay: 0,
})
Notes​
Where to put Keyboard configuration​
A great place to put this configuration is in the supportFile, since it is loaded before any test files are evaluated.
Set the keystroke delay in test configuration​
The keystroke delay can also be set via test configuration, which can be useful when setting it for a single test or a subset of tests.
it(
'removes keystroke delay for all typing in this test',
{ keystrokeDelay: 0 },
() => {
cy.get('input').eq(0).type('fast typing')
cy.get('input').eq(1).type('more fast typing')
}
)
describe(
'removes keystroke delay in all tests in this suite',
{ keystrokeDelay: 0 },
() => {
it('types fast in the first input', () => {
cy.get('input').eq(0).type('fast typing')
})
it('types fast in the second input', () => {
cy.get('input').eq(1).type('more fast typing')
})
}
)