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 0to 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')
    })
  }
)