diff --git a/packages/playwright-core/src/server/recorder/csharp.ts b/packages/playwright-core/src/server/recorder/csharp.ts
index 548eeb2694..2cb6a0ef9b 100644
--- a/packages/playwright-core/src/server/recorder/csharp.ts
+++ b/packages/playwright-core/src/server/recorder/csharp.ts
@@ -114,8 +114,6 @@ export class CSharpLanguageGenerator implements LanguageGenerator {
for (const line of lines)
formatter.add(line);
- if (signals.assertNavigation)
- formatter.add(`await ${pageAlias}.WaitForURLAsync(${quote(signals.assertNavigation.url)});`);
return formatter.format();
}
diff --git a/packages/playwright-core/src/server/recorder/java.ts b/packages/playwright-core/src/server/recorder/java.ts
index cb18c157ff..5815039f71 100644
--- a/packages/playwright-core/src/server/recorder/java.ts
+++ b/packages/playwright-core/src/server/recorder/java.ts
@@ -85,8 +85,6 @@ export class JavaLanguageGenerator implements LanguageGenerator {
formatter.add(code);
- if (signals.assertNavigation)
- formatter.add(`assertThat(${pageAlias}).hasURL(${quote(signals.assertNavigation.url)});`);
return formatter.format();
}
diff --git a/packages/playwright-core/src/server/recorder/javascript.ts b/packages/playwright-core/src/server/recorder/javascript.ts
index 213fd5a6c0..4ac8e45d51 100644
--- a/packages/playwright-core/src/server/recorder/javascript.ts
+++ b/packages/playwright-core/src/server/recorder/javascript.ts
@@ -100,14 +100,9 @@ export class JavaScriptLanguageGenerator implements LanguageGenerator {
const suffix = emitPromiseAll ? '' : ';';
formatter.add(`${prefix}${subject}.${actionCall}${suffix}`);
- if (emitPromiseAll) {
+ if (emitPromiseAll)
formatter.add(`]);`);
- } else if (signals.assertNavigation) {
- if (this._isTest)
- formatter.add(`await expect(${pageAlias}).toHaveURL(${quote(signals.assertNavigation.url)});`);
- else
- formatter.add(`await ${pageAlias}.waitForURL(${quote(signals.assertNavigation.url)});`);
- }
+
return formatter.format();
}
diff --git a/packages/playwright-core/src/server/recorder/language.ts b/packages/playwright-core/src/server/recorder/language.ts
index 68760136e3..bc6d0ead91 100644
--- a/packages/playwright-core/src/server/recorder/language.ts
+++ b/packages/playwright-core/src/server/recorder/language.ts
@@ -17,7 +17,7 @@
import type { BrowserContextOptions, LaunchOptions } from '../../..';
import type { Language } from '../isomorphic/locatorGenerators';
import type { ActionInContext } from './codeGenerator';
-import type { Action, DialogSignal, DownloadSignal, NavigationSignal, PopupSignal } from './recorderActions';
+import type { Action, DialogSignal, DownloadSignal, PopupSignal } from './recorderActions';
export type { Language } from '../isomorphic/locatorGenerators';
export type LanguageGeneratorOptions = {
@@ -52,14 +52,11 @@ export function sanitizeDeviceOptions(device: any, options: BrowserContextOption
}
export function toSignalMap(action: Action) {
- let assertNavigation: NavigationSignal | undefined;
let popup: PopupSignal | undefined;
let download: DownloadSignal | undefined;
let dialog: DialogSignal | undefined;
for (const signal of action.signals) {
- if (signal.name === 'navigation')
- assertNavigation = signal;
- else if (signal.name === 'popup')
+ if (signal.name === 'popup')
popup = signal;
else if (signal.name === 'download')
download = signal;
@@ -67,7 +64,6 @@ export function toSignalMap(action: Action) {
dialog = signal;
}
return {
- assertNavigation,
popup,
download,
dialog,
diff --git a/packages/playwright-core/src/server/recorder/python.ts b/packages/playwright-core/src/server/recorder/python.ts
index 8e58563b9f..58c627882b 100644
--- a/packages/playwright-core/src/server/recorder/python.ts
+++ b/packages/playwright-core/src/server/recorder/python.ts
@@ -97,12 +97,6 @@ export class PythonLanguageGenerator implements LanguageGenerator {
formatter.add(code);
- if (signals.assertNavigation) {
- if (this._isPyTest)
- formatter.add(`${this._awaitPrefix}expect(${pageAlias}).to_have_url(${quote(signals.assertNavigation.url)})`);
- else
- formatter.add(`${this._awaitPrefix}${pageAlias}.wait_for_url(${quote(signals.assertNavigation.url)})`);
- }
return formatter.format();
}
diff --git a/tests/library/inspector/cli-codegen-1.spec.ts b/tests/library/inspector/cli-codegen-1.spec.ts
index 3fb613a17d..d9deefd4fa 100644
--- a/tests/library/inspector/cli-codegen-1.spec.ts
+++ b/tests/library/inspector/cli-codegen-1.spec.ts
@@ -587,75 +587,30 @@ test.describe('cli codegen', () => {
expect(selector).toBe('internal:text="link"i');
const [, sources] = await Promise.all([
page.waitForNavigation(),
- recorder.waitForOutput('JavaScript', 'waitForURL'),
+ recorder.waitForOutput('JavaScript', '.click()'),
page.dispatchEvent('a', 'click', { detail: 1 })
]);
expect.soft(sources.get('JavaScript').text).toContain(`
- await page.getByText('link').click();
- await page.waitForURL('about:blank#foo');`);
+ await page.getByText('link').click();`);
expect.soft(sources.get('Playwright Test').text).toContain(`
- await page.getByText('link').click();
- await expect(page).toHaveURL('about:blank#foo');`);
+ await page.getByText('link').click();`);
expect.soft(sources.get('Java').text).toContain(`
- page.getByText("link").click();
- assertThat(page).hasURL("about:blank#foo");`);
+ page.getByText("link").click();`);
expect.soft(sources.get('Python').text).toContain(`
- page.get_by_text("link").click()
- page.wait_for_url("about:blank#foo")`);
+ page.get_by_text("link").click()`);
expect.soft(sources.get('Python Async').text).toContain(`
- await page.get_by_text("link").click()
- await page.wait_for_url("about:blank#foo")`);
+ await page.get_by_text("link").click()`);
expect.soft(sources.get('Pytest').text).toContain(`
- page.get_by_text("link").click()
- expect(page).to_have_url("about:blank#foo")`);
+ page.get_by_text("link").click()`);
expect.soft(sources.get('C#').text).toContain(`
- await page.GetByText("link").ClickAsync();
- await page.WaitForURLAsync("about:blank#foo");`);
-
- expect(page.url()).toContain('about:blank#foo');
- });
-
-
- test('should await navigation', async ({ page, openRecorder }) => {
- const recorder = await openRecorder();
-
- await recorder.setContentAndWait(`link`);
-
- const selector = await recorder.hoverOverElement('a');
- expect(selector).toBe('internal:text="link"i');
-
- const [, sources] = await Promise.all([
- page.waitForNavigation(),
- recorder.waitForOutput('JavaScript', 'waitForURL'),
- page.dispatchEvent('a', 'click', { detail: 1 })
- ]);
-
- expect.soft(sources.get('JavaScript').text).toContain(`
- await page.getByText('link').click();
- await page.waitForURL('about:blank#foo');`);
-
- expect.soft(sources.get('Java').text).toContain(`
- page.getByText("link").click();
- assertThat(page).hasURL("about:blank#foo");`);
-
- expect.soft(sources.get('Python').text).toContain(`
- page.get_by_text("link").click()
- page.wait_for_url("about:blank#foo")`);
-
- expect.soft(sources.get('Python Async').text).toContain(`
- await page.get_by_text("link").click()
- await page.wait_for_url("about:blank#foo")`);
-
- expect.soft(sources.get('C#').text).toContain(`
- await page.GetByText("link").ClickAsync();
- await page.WaitForURLAsync(\"about:blank#foo\");`);
+ await page.GetByText("link").ClickAsync();`);
expect(page.url()).toContain('about:blank#foo');
});
diff --git a/tests/library/inspector/cli-codegen-2.spec.ts b/tests/library/inspector/cli-codegen-2.spec.ts
index 0a45a8ff0a..c22b32bc8e 100644
--- a/tests/library/inspector/cli-codegen-2.spec.ts
+++ b/tests/library/inspector/cli-codegen-2.spec.ts
@@ -473,31 +473,6 @@ test.describe('cli codegen', () => {
await recorder.waitForOutput('JavaScript', `await page.goto('${server.PREFIX}/page2.html');`);
});
- test('should record slow navigation signal after mouse move', async ({ page, openRecorder, server }) => {
- const recorder = await openRecorder();
- await recorder.setContentAndWait(`
-
-
- `);
- await page.exposeBinding('letTheMouseMove', async () => {
- await page.mouse.move(200, 200);
- });
-
- const [, sources] = await Promise.all([
- // This will click, finish the click, then mouse move, then navigate.
- page.click('button'),
- recorder.waitForOutput('JavaScript', 'waitForURL'),
- ]);
-
- expect(sources.get('JavaScript').text).toContain(`page.waitForURL('${server.EMPTY_PAGE}')`);
- });
-
test('should --save-trace', async ({ runCLI }, testInfo) => {
const traceFileName = testInfo.outputPath('trace.zip');
const cli = runCLI([`--save-trace=${traceFileName}`]);