Menu

This is documentation for the next version of K6. For the latest stable release, go to the latest version.

Open source RSS

Keyboard

Caution

This API is a work in progress. Some of the following functionalities might behave unexpectedly.

Keyboard provide a way to interact with a virtual keyboard.

MethodDescription
down(key)Dispatches a keydown event.
up(key)Dispatches a keyup event.
press(key[, options])Dispatches a keydown event followed by an keyup event.
type(text[, options])Dispatches a keydown, keypress orinput, and keyup events for each character in the text.
insertText(text)Dispatches only an input event.

Example

JavaScript
import { browser } from 'k6/browser';

export const options = {
  scenarios: {
    ui: {
      executor: 'shared-iterations',
      options: {
        browser: {
            type: 'chromium',
        },
      },
    },
  }
}

export default async function () {
  const page = await browser.newPage();
  await page.goto('https://test.k6.io/my_messages.php', {
    waitUntil: 'networkidle'
  });

  const login = page.locator('input[name="login"]');
  await login.click();
  await page.keyboard.type("admin");

  const password = page.locator('input[name="password"]');
  await password.click();
  await page.keyboard.type("123");

  await Promise.all([
    page.keyboard.press('Enter'), // submit
    page.waitForNavigation(),
  ]);

  await page.close();
}