playwright/packages/playwright-core
Rui Figueira 73ffaf65d7
fix(codegen): fill action prevents omnibox navigation recording (#29790)
This PR is a fix proposal for a bug when trying to record a omnibox
navigation after a recorded action (e.g., `fill`).

The following test, included in this PR, reproduces the problem:

```ts
  test('should record omnibox navigations after recordAction', async ({ page, openRecorder, server }) => {
    const recorder = await openRecorder();
    await recorder.setContentAndWait(`<textarea></textarea>`);
    await Promise.all([
      recorder.waitForOutput('JavaScript', 'fill'),
      page.locator('textarea').fill('Hello world'),
    ]);
    // for performed actions, 5 seconds is the time needed to ensure they are committed
    await page.waitForTimeout(5000);
    await page.goto(server.PREFIX + `/empty.html`);
    await recorder.waitForOutput('JavaScript', `await page.goto('${server.PREFIX}/empty.html');`);
  });
```

After performed actions (e.g., `click`), it successfully records the
navigation as long as there's at least a 5 sec. gap between both
actions. That happens because after that 5 sec. interval the performed
action is automatically commited and therefore the navigation is not
stored as a signal of that action.

The proposed fix for recorded actions also forces that action to be
automatically commited after 5 sec (for testing, I'm using 500ms to
speed up the test execution).
2024-03-04 12:31:03 -08:00
..
bin chore: better error messages when stable channel installations fail on Windows (#29077) 2024-01-22 18:15:35 +01:00
bundles chore(deps): bump ip from 2.0.0 to 2.0.1 in /packages/playwright-core/bundles/utils (#29583) 2024-02-20 20:36:42 +01:00
src fix(codegen): fill action prevents omnibox navigation recording (#29790) 2024-03-04 12:31:03 -08:00
types chore: follow up to align the tsdoc 2024-03-02 07:32:44 -08:00
.eslintrc.js chore: strengthen linting (#29669) 2024-02-26 16:52:28 -08:00
.npmignore chore: fix installation tests (#26602) 2023-08-22 16:48:52 +02:00
browsers.json chore: remove chromium-with-symbols build (#29807) 2024-03-04 20:12:01 +01:00
cli.js chore: split cli processing into cli endpoint and program (#29131) 2024-01-23 15:22:09 -08:00
index.d.ts chore: migrate to monorepo (#9421) 2021-10-11 16:52:17 +02:00
index.js chore: refactored minimum Node Major version to variable (#24188) 2023-07-18 19:57:48 +02:00
index.mjs fix: export request from index.jsm (#13158) 2022-03-30 09:35:47 -07:00
package.json chore: mark 1.43.0-next (#29670) 2024-02-26 16:45:25 -08:00
README.md chore: drop dependency on playwright-core in all our packages (#2318) 2020-05-21 13:18:15 -07:00
ThirdPartyNotices.txt chore(deps): bump ip from 2.0.0 to 2.0.1 in /packages/playwright-core/bundles/utils (#29583) 2024-02-20 20:36:42 +01:00

playwright-core

This package contains the no-browser flavor of Playwright.