Utilizing the new Clock API allows to manipulate and control time within tests to verify time-related behavior. This API covers many common scenarios, including:
testing with predefined time;
keeping consistent time and timers;
monitoring inactivity;
ticking through time manually.
// Initialize clock and let the page load naturally.
await page.clock.install({ time: new Date('2024-02-02T08:00:00') });
await page.goto('http://localhost:3333');
// Pretend that the user closed the laptop lid and opened it again at 10am,
// Pause the time once reached that point.
await page.clock.pauseAt(new Date('2024-02-02T10:00:00'));
// Assert the page state.
await expect(page.getByTestId('current-time')).toHaveText('2/2/2024, 10:00:00 AM');
// Close the laptop lid again and open it at 10:30am.
await page.clock.fastForward('30:00');
await expect(page.getByTestId('current-time')).toHaveText('2/2/2024, 10:30:00 AM');
New CLI option --fail-on-flaky-tests that sets exit code to 1 upon any flaky tests. Note that by default, the test runner exits with code 0 when all failed tests recovered upon a retry. With this option, the test run will fail in such case.
New enviroment variable PLAYWRIGHT_FORCE_TTY controls whether built-in list, line and dot reporters assume a live terminal. For example, this could be useful to disable tty behavior when your CI environment does not handle ANSI control sequences well. Alternatively, you can enable tty behavior even when to live terminal is present, if you plan to post-process the output and handle control sequences.
# Avoid TTY features that output ANSI control sequences
PLAYWRIGHT_FORCE_TTY=0 npx playwright test
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all group with 7 updates in the / directory:
5.0.19
5.0.20
5.4.5
5.5.2
8.38.2
8.39.0
1.44.1
1.45.0
7.13.0
7.14.1
7.13.0
7.14.1
7.13.0
7.14.1
Updates
@fontsource/noto-emoji
from 5.0.19 to 5.0.20Commits
Updates
typescript
from 5.4.5 to 5.5.2Release notes
Sourced from typescript's releases.
Commits
ce2e60e
Update LKGf3b21a2
🤖 Pick PR #58931 (Defer creation of barebonesLibSourc...) into release-5.5 (#...7b1620b
🤖 Pick PR #58811 (fix(58801): "Move to file" on globa...) into release-5.5 (#...5367ae1
Bump version to 5.5.2 and LKG02132e5
🤖 Pick PR #58895 (Fix global when typescript.js loade...) into release-5.5 (#...45b1e3c
🤖 Pick PR #58872 (Fix declaration emit crash) into release-5.5 (#58874)17933ee
🤖 Pick PR #58810 (Fixed declaration emit issue relate...) into release-5.5 (#...552b07e
🤖 Pick PR #58786 (Fixed declaration emit crash relate...) into release-5.5 (#...39c9eeb
Pick #58857 to release-5.5 (#58858)2b0009c
🤖 Pick PR #58846 (Ensure the updates with crashes rev...) into release-5.5 (#...Updates
webdriverio
from 8.38.2 to 8.39.0Release notes
Sourced from webdriverio's releases.
Changelog
Sourced from webdriverio's changelog.
Commits
82da6a2
v8.39.08f7720f
Allows reloadSession to connect to remote driver (#12957)b9c057e
fix(docs): add await before mock.restore() (#13020)Updates
@playwright/test
from 1.44.1 to 1.45.0Release notes
Sourced from
@playwright/test
's releases.... (truncated)
Commits
4f3f6ee
cherry-pick(#31421): docs: release notes for 1.45d557b7b
cherry-pick(#31420): docs(java): correctly parse time (#31422)1368bca
cherry-pick(#31419): docs: deprecatehandle
option inexposeBinding
6c3fc49
cherry-pick(#31404): feat(chromium): roll to r11244ae151f
cherry-pick(#31340): docs: add guide for print dialogsa11585f
cherry-pick(#31331): docs(test-parameterize): improve forEach exampleafcf8d2
cherry-pick(#31350): docs: fix typo in 1.45 release notes599d074
cherry-pick(#31356): fix(clock): throw for invalid date2451791
cherry-pick(#31357): fix(clock): under reused context56ca1e1
cherry-pick(#31369): docs: use long for time in milliseconds (#31371)Updates
@typescript-eslint/eslint-plugin
from 7.13.0 to 7.14.1Release notes
Sourced from
@typescript-eslint/eslint-plugin
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/eslint-plugin
's changelog.... (truncated)
Commits
b4fe94f
chore(release): publish 7.14.1f29150f
fix(eslint-plugin): [prefer-nullish-coalescing] ensure ternary fix does not r...9b7731d
fix(eslint-plugin): [prefer-nullish-coalescing] treat enums and literals as t...dfc4469
chore(release): publish 7.14.0635133a
docs: split troubleshooting into granular sections (#9024)c322099
fix(eslint-plugin): [no-invalid-this] support AccessorProperty (#9411)23e6468
fix(eslint-plugin): [prefer-nullish-coalescing] handle intersected primitive ...5c4a5de
feat(ast-spec): tighter types and documentation for declaration/* (#9211)e47123d
fix(eslint-plugin): [no-extraneous-class] handle abstract members (#9367)dc18229
feat: support TypeScript 5.5 (#9397)Updates
@typescript-eslint/parser
from 7.13.0 to 7.14.1Release notes
Sourced from
@typescript-eslint/parser
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser
's changelog.Commits
b4fe94f
chore(release): publish 7.14.1dfc4469
chore(release): publish 7.14.01212a8f
chore(release): publish 7.13.1Updates
typescript-eslint
from 7.13.0 to 7.14.1Release notes
Sourced from typescript-eslint's releases.
... (truncated)
Changelog
Sourced from typescript-eslint's changelog.
Commits
b4fe94f
chore(release): publish 7.14.1dfc4469
chore(release): publish 7.14.01212a8f
chore(release): publish 7.13.1Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show