菜单
开源 RSS

Keyboard

注意

此 API 正在开发中。以下部分功能可能表现异常。

Keyboard 提供与虚拟键盘交互的方式。

方法描述
down(key)分派一个 keydown 事件。
up(key)分派一个 keyup 事件。
press(key[, options])分派一个 keydown 事件后紧跟一个 keyup 事件。
type(text[, options])对文本中的每个字符分派 keydownkeypressinput,以及 keyup 事件。
insertText(text)仅分派一个 input 事件。

示例

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();
}