Menu
Open source
press(selector, key[, options])
Warning
Use locator-basedlocator.press()
instead.
Focuses the element, and then uses keyboard.down(key)
and keyboard.up(key)
.
A superset of the key
values can be found here.
Following modification shortcuts are also supported: Shift
, Control
, Alt
, Meta
, ShiftLeft
.
Holding down Shift
will type the text that corresponds to the key
in the upper case.
If key
is a single character, it is case-sensitive, so the values a
and A
will generate different respective texts.
Shortcuts such as key: "Control+o"
or key: "Control+Shift+T"
are supported as well. When specified with the modifier, modifier is pressed and being held while the subsequent key is being pressed.
Parameter | Type | Default | Description |
---|---|---|---|
selector | string | '' | A selector to search for an element. If there are multiple elements satisfying the selector, the first will be used. |
key | string | '' | Name of the key to press or a character to generate, such as ArrowLeft or a . A superset of the key values can be found here. |
options | object | null | |
options.delay | number | 0 | Milliseconds to wait between keydown and keyup . |
options.noWaitAfter | boolean | false | If set to true and a navigation occurs from performing this action, it will not wait for it to complete. |
options.strict | boolean | false | When true , the call requires selector to resolve to a single element. If given selector resolves to more than one element, the call throws an exception. |
options.timeout | number | 30000 | Maximum time in milliseconds. Pass 0 to disable the timeout. Default is overridden by the setDefaultTimeout option on BrowserContext or Page. |
Example
JavaScript
import { browser } from 'k6/experimental/browser';
export const options = {
scenarios: {
browser: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium',
},
},
},
},
};
export default async function () {
const page = browser.newPage();
await page.goto('https://test.k6.io/browser.php');
page.press('#text1', 'Tab');
}
Was this page helpful?
Related documentation
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
Video
Performance testing and observability in Grafana Cloud
In this webinar, learn how Grafana Cloud k6 offers you the best developer experience for performance testing.
User-centered observability: load testing, real user monitoring, and synthetics
Learn how to use load testing, synthetic monitoring, and real user monitoring (RUM) to understand end users' experience of your apps. Watch on demand.