chore: do not emit comments from codegen (#17747)

This commit is contained in:
Pavel Feldman 2022-09-30 11:36:54 -08:00 committed by GitHub
parent be150796f4
commit 5754fb9c6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 0 additions and 201 deletions

View File

@ -19,7 +19,6 @@ import type { LanguageGenerator, LanguageGeneratorOptions } from './language';
import { sanitizeDeviceOptions, toSignalMap } from './language';
import type { ActionInContext } from './codeGenerator';
import type { Action } from './recorderActions';
import { actionTitle } from './recorderActions';
import type { MouseClickOptions } from './utils';
import { toModifiers } from './utils';
import { escapeWithQuotes } from '../../utils/isomorphic/stringUtils';
@ -65,7 +64,6 @@ export class CSharpLanguageGenerator implements LanguageGenerator {
if (this._mode !== 'library')
pageAlias = pageAlias.replace('page', 'Page');
const formatter = new CSharpFormatter(8);
formatter.add('// ' + actionTitle(action));
if (action.name === 'openPage') {
formatter.add(`var ${pageAlias} = await context.NewPageAsync();`);

View File

@ -19,7 +19,6 @@ import type { LanguageGenerator, LanguageGeneratorOptions } from './language';
import { toSignalMap } from './language';
import type { ActionInContext } from './codeGenerator';
import type { Action } from './recorderActions';
import { actionTitle } from './recorderActions';
import type { MouseClickOptions } from './utils';
import { toModifiers } from './utils';
import deviceDescriptors from '../deviceDescriptors';
@ -37,7 +36,6 @@ export class JavaLanguageGenerator implements LanguageGenerator {
const pageAlias = actionInContext.frame.pageAlias;
const formatter = new JavaScriptFormatter(6);
formatter.newLine();
formatter.add('// ' + actionTitle(action));
if (action.name === 'openPage') {
formatter.add(`Page ${pageAlias} = context.newPage();`);

View File

@ -19,7 +19,6 @@ import type { LanguageGenerator, LanguageGeneratorOptions } from './language';
import { sanitizeDeviceOptions, toSignalMap } from './language';
import type { ActionInContext } from './codeGenerator';
import type { Action } from './recorderActions';
import { actionTitle } from './recorderActions';
import type { MouseClickOptions } from './utils';
import { toModifiers } from './utils';
import deviceDescriptors from '../deviceDescriptors';
@ -46,7 +45,6 @@ export class JavaScriptLanguageGenerator implements LanguageGenerator {
const pageAlias = actionInContext.frame.pageAlias;
const formatter = new JavaScriptFormatter(2);
formatter.newLine();
formatter.add('// ' + actionTitle(action));
if (action.name === 'openPage') {
formatter.add(`const ${pageAlias} = await context.newPage();`);

View File

@ -19,7 +19,6 @@ import type { LanguageGenerator, LanguageGeneratorOptions } from './language';
import { sanitizeDeviceOptions, toSignalMap } from './language';
import type { ActionInContext } from './codeGenerator';
import type { Action } from './recorderActions';
import { actionTitle } from './recorderActions';
import type { MouseClickOptions } from './utils';
import { toModifiers } from './utils';
import { escapeWithQuotes } from '../../utils/isomorphic/stringUtils';
@ -53,7 +52,6 @@ export class PythonLanguageGenerator implements LanguageGenerator {
const pageAlias = actionInContext.frame.pageAlias;
const formatter = new PythonFormatter(4);
formatter.newLine();
formatter.add('# ' + actionTitle(action));
if (action.name === 'openPage') {
formatter.add(`${pageAlias} = ${this._awaitPrefix}context.new_page()`);

View File

@ -127,38 +127,3 @@ export type FrameDescription = {
name?: string;
selectorsChain?: string[];
};
export function actionTitle(action: Action): string {
switch (action.name) {
case 'openPage':
return `Open new page`;
case 'closePage':
return `Close page`;
case 'check':
return `Check ${action.selector}`;
case 'uncheck':
return `Uncheck ${action.selector}`;
case 'click': {
if (action.clickCount === 1)
return `Click ${action.selector}`;
if (action.clickCount === 2)
return `Double click ${action.selector}`;
if (action.clickCount === 3)
return `Triple click ${action.selector}`;
return `${action.clickCount}× click`;
}
case 'fill':
return `Fill ${action.selector}`;
case 'setInputFiles':
if (action.files.length === 0)
return `Clear selected files`;
else
return `Upload ${action.files.join(', ')}`;
case 'navigate':
return `Go to ${action.url}`;
case 'press':
return `Press ${action.key}` + (action.modifiers ? ' with modifiers' : '');
case 'select':
return `Select ${action.options.join(', ')}`;
}
}

View File

@ -35,23 +35,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=Submit
await page.locator('text=Submit').click();`);
expect(sources.get('Python').text).toContain(`
# Click text=Submit
page.locator("text=Submit").click()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=Submit
await page.locator("text=Submit").click()`);
expect(sources.get('Java').text).toContain(`
// Click text=Submit
page.locator("text=Submit").click();`);
expect(sources.get('C#').text).toContain(`
// Click text=Submit
await page.Locator("text=Submit").ClickAsync();`);
expect(message.text()).toBe('click');
@ -83,7 +78,6 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=Submit
await page.locator('text=Submit').click();`);
expect(message.text()).toBe('click');
});
@ -114,7 +108,6 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click canvas
await page.locator('canvas').click({
position: {
x: 250,
@ -123,20 +116,16 @@ test.describe('cli codegen', () => {
});`);
expect(sources.get('Python').text).toContain(`
# Click canvas
page.locator("canvas").click(position={"x":250,"y":250})`);
expect(sources.get('Python Async').text).toContain(`
# Click canvas
await page.locator("canvas").click(position={"x":250,"y":250})`);
expect(sources.get('Java').text).toContain(`
// Click canvas
page.locator("canvas").click(new Locator.ClickOptions()
.setPosition(250, 250));`);
expect(sources.get('C#').text).toContain(`
// Click canvas
await page.Locator("canvas").ClickAsync(new LocatorClickOptions
{
Position = new Position
@ -169,23 +158,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=Submit
await page.locator('text=Submit').click();`);
expect(sources.get('Python').text).toContain(`
# Click text=Submit
page.locator("text=Submit").click()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=Submit
await page.locator("text=Submit").click()`);
expect(sources.get('Java').text).toContain(`
// Click text=Submit
page.locator("text=Submit").click();`);
expect(sources.get('C#').text).toContain(`
// Click text=Submit
await page.Locator("text=Submit").ClickAsync();`);
expect(message.text()).toBe('click');
@ -220,7 +204,6 @@ test.describe('cli codegen', () => {
page.dispatchEvent('div', 'click', { detail: 1 })
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=Some long text here
await page.locator('text=Some long text here').click();`);
expect(message.text()).toBe('click');
});
@ -239,22 +222,17 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Fill input[name="name"]
await page.locator('input[name="name"]').fill('John');`);
expect(sources.get('Java').text).toContain(`
// Fill input[name="name"]
page.locator("input[name=\\\"name\\\"]").fill("John");`);
expect(sources.get('Python').text).toContain(`
# Fill input[name="name"]
page.locator(\"input[name=\\\"name\\\"]\").fill(\"John\")`);
expect(sources.get('Python Async').text).toContain(`
# Fill input[name="name"]
await page.locator(\"input[name=\\\"name\\\"]\").fill(\"John\")`);
expect(sources.get('C#').text).toContain(`
// Fill input[name="name"]
await page.Locator(\"input[name=\\\"name\\\"]\").FillAsync(\"John\");`);
expect(message.text()).toBe('John');
@ -278,22 +256,17 @@ test.describe('cli codegen', () => {
})()
]);
expect(sources.get('JavaScript').text).toContain(`
// Fill input[name="name"]
await page.locator('input[name="name"]').fill('てすと');`);
expect(sources.get('Java').text).toContain(`
// Fill input[name="name"]
page.locator("input[name=\\\"name\\\"]").fill("てすと");`);
expect(sources.get('Python').text).toContain(`
# Fill input[name="name"]
page.locator(\"input[name=\\\"name\\\"]\").fill(\"てすと\")`);
expect(sources.get('Python Async').text).toContain(`
# Fill input[name="name"]
await page.locator(\"input[name=\\\"name\\\"]\").fill(\"てすと\")`);
expect(sources.get('C#').text).toContain(`
// Fill input[name="name"]
await page.Locator(\"input[name=\\\"name\\\"]\").FillAsync(\"てすと\");`);
expect(message.text()).toBe('てすと');
@ -312,7 +285,6 @@ test.describe('cli codegen', () => {
page.fill('textarea', 'John')
]);
expect(sources.get('JavaScript').text).toContain(`
// Fill textarea[name="name"]
await page.locator('textarea[name="name"]').fill('John');`);
expect(message.text()).toBe('John');
});
@ -334,23 +306,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Press Enter with modifiers
await page.locator('input[name="name"]').press('Shift+Enter');`);
expect(sources.get('Java').text).toContain(`
// Press Enter with modifiers
page.locator("input[name=\\\"name\\\"]").press("Shift+Enter");`);
expect(sources.get('Python').text).toContain(`
# Press Enter with modifiers
page.locator(\"input[name=\\\"name\\\"]\").press(\"Shift+Enter\")`);
expect(sources.get('Python Async').text).toContain(`
# Press Enter with modifiers
await page.locator(\"input[name=\\\"name\\\"]\").press(\"Shift+Enter\")`);
expect(sources.get('C#').text).toContain(`
// Press Enter with modifiers
await page.Locator(\"input[name=\\\"name\\\"]\").PressAsync(\"Shift+Enter\");`);
expect(messages[0].text()).toBe('press');
@ -376,15 +343,12 @@ test.describe('cli codegen', () => {
const text = recorder.sources().get('JavaScript').text;
expect(text).toContain(`
// Fill input[name="one"]
await page.locator('input[name="one"]').fill('foobar123');`);
expect(text).toContain(`
// Press Tab
await page.locator('input[name="one"]').press('Tab');`);
expect(text).toContain(`
// Fill input[name="two"]
await page.locator('input[name="two"]').fill('barfoo321');`);
});
@ -406,7 +370,6 @@ test.describe('cli codegen', () => {
page.press('input', 'ArrowDown')
]);
expect(sources.get('JavaScript').text).toContain(`
// Press ArrowDown
await page.locator('input[name="name"]').press('ArrowDown');`);
expect(messages[0].text()).toBe('press:ArrowDown');
});
@ -430,7 +393,6 @@ test.describe('cli codegen', () => {
page.press('input', 'ArrowDown')
]);
expect(sources.get('JavaScript').text).toContain(`
// Press ArrowDown
await page.locator('input[name="name"]').press('ArrowDown');`);
expect(messages.length).toBe(2);
expect(messages[0].text()).toBe('down:ArrowDown');
@ -452,23 +414,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Check input[name="accept"]
await page.locator('input[name="accept"]').check();`);
expect(sources.get('Java').text).toContain(`
// Check input[name="accept"]
page.locator("input[name=\\\"accept\\\"]").check();`);
expect(sources.get('Python').text).toContain(`
# Check input[name="accept"]
page.locator(\"input[name=\\\"accept\\\"]\").check()`);
expect(sources.get('Python Async').text).toContain(`
# Check input[name="accept"]
await page.locator(\"input[name=\\\"accept\\\"]\").check()`);
expect(sources.get('C#').text).toContain(`
// Check input[name="accept"]
await page.Locator(\"input[name=\\\"accept\\\"]\").CheckAsync();`);
expect(message.text()).toBe('true');
@ -489,7 +446,6 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Check input[name="accept"]
await page.locator('input[name="accept"]').check();`);
expect(message.text()).toBe('true');
});
@ -509,7 +465,6 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Check input[name="accept"]
await page.locator('input[name="accept"]').check();`);
expect(message.text()).toBe('true');
});
@ -529,23 +484,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Uncheck input[name="accept"]
await page.locator('input[name="accept"]').uncheck();`);
expect(sources.get('Java').text).toContain(`
// Uncheck input[name="accept"]
page.locator("input[name=\\\"accept\\\"]").uncheck();`);
expect(sources.get('Python').text).toContain(`
# Uncheck input[name="accept"]
page.locator(\"input[name=\\\"accept\\\"]\").uncheck()`);
expect(sources.get('Python Async').text).toContain(`
# Uncheck input[name="accept"]
await page.locator(\"input[name=\\\"accept\\\"]\").uncheck()`);
expect(sources.get('C#').text).toContain(`
// Uncheck input[name="accept"]
await page.Locator(\"input[name=\\\"accept\\\"]\").UncheckAsync();`);
expect(message.text()).toBe('false');
@ -566,23 +516,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Select 2
await page.locator('select').selectOption('2');`);
expect(sources.get('Java').text).toContain(`
// Select 2
page.locator("select").selectOption("2");`);
expect(sources.get('Python').text).toContain(`
# Select 2
page.locator(\"select\").select_option(\"2\")`);
expect(sources.get('Python Async').text).toContain(`
# Select 2
await page.locator(\"select\").select_option(\"2\")`);
expect(sources.get('C#').text).toContain(`
// Select 2
await page.Locator(\"select\").SelectOptionAsync(new[] { \"2\" });`);
expect(message.text()).toBe('2');
@ -604,26 +549,22 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=link
const [page1] = await Promise.all([
page.waitForEvent('popup'),
page.locator('text=link').click()
]);`);
expect(sources.get('Java').text).toContain(`
// Click text=link
Page page1 = page.waitForPopup(() -> {
page.locator("text=link").click();
});`);
expect(sources.get('Python').text).toContain(`
# Click text=link
with page.expect_popup() as popup_info:
page.locator(\"text=link\").click()
page1 = popup_info.value`);
expect(sources.get('Python Async').text).toContain(`
# Click text=link
async with page.expect_popup() as popup_info:
await page.locator(\"text=link\").click()
page1 = await popup_info.value`);
@ -651,37 +592,30 @@ test.describe('cli codegen', () => {
]);
expect.soft(sources.get('JavaScript').text).toContain(`
// Click text=link
await page.locator('text=link').click();
await page.waitForURL('about:blank#foo');`);
expect.soft(sources.get('Playwright Test').text).toContain(`
// Click text=link
await page.locator('text=link').click();
await expect(page).toHaveURL('about:blank#foo');`);
expect.soft(sources.get('Java').text).toContain(`
// Click text=link
page.locator("text=link").click();
assertThat(page).hasURL("about:blank#foo");`);
expect.soft(sources.get('Python').text).toContain(`
# Click text=link
page.locator("text=link").click()
page.wait_for_url("about:blank#foo")`);
expect.soft(sources.get('Python Async').text).toContain(`
# Click text=link
await page.locator("text=link").click()
await page.wait_for_url("about:blank#foo")`);
expect.soft(sources.get('Pytest').text).toContain(`
# Click text=link
page.locator("text=link").click()
expect(page).to_have_url("about:blank#foo")`);
expect.soft(sources.get('C#').text).toContain(`
// Click text=link
await page.Locator("text=link").ClickAsync();
await page.WaitForURLAsync("about:blank#foo");`);
@ -704,27 +638,22 @@ test.describe('cli codegen', () => {
]);
expect.soft(sources.get('JavaScript').text).toContain(`
// Click text=link
await page.locator('text=link').click();
await page.waitForURL('about:blank#foo');`);
expect.soft(sources.get('Java').text).toContain(`
// Click text=link
page.locator("text=link").click();
assertThat(page).hasURL("about:blank#foo");`);
expect.soft(sources.get('Python').text).toContain(`
# Click text=link
page.locator(\"text=link\").click()
page.wait_for_url("about:blank#foo")`);
expect.soft(sources.get('Python Async').text).toContain(`
# Click text=link
await page.locator(\"text=link\").click()
await page.wait_for_url("about:blank#foo")`);
expect.soft(sources.get('C#').text).toContain(`
// Click text=link
await page.Locator(\"text=link\").ClickAsync();
await page.WaitForURLAsync(\"about:blank#foo\");`);

View File

@ -28,23 +28,18 @@ test.describe('cli codegen', () => {
const sources = await recorder.waitForOutput('JavaScript', `page.goto`);
expect(sources.get('JavaScript').text).toContain(`
// Open new page
const page = await context.newPage();`);
expect(sources.get('Java').text).toContain(`
// Open new page
Page page = context.newPage();`);
expect(sources.get('Python').text).toContain(`
# Open new page
page = context.new_page()`);
expect(sources.get('Python Async').text).toContain(`
# Open new page
page = await context.new_page()`);
expect(sources.get('C#').text).toContain(`
// Open new page
var page = await context.NewPageAsync();`);
});
@ -56,23 +51,18 @@ test.describe('cli codegen', () => {
const sources = await recorder.waitForOutput('JavaScript', 'page1');
expect(sources.get('JavaScript').text).toContain(`
// Open new page
const page1 = await context.newPage();`);
expect(sources.get('Java').text).toContain(`
// Open new page
Page page1 = context.newPage();`);
expect(sources.get('Python').text).toContain(`
# Open new page
page1 = context.new_page()`);
expect(sources.get('Python Async').text).toContain(`
# Open new page
page1 = await context.new_page()`);
expect(sources.get('C#').text).toContain(`
// Open new page
var page1 = await context.NewPageAsync();`);
});
@ -132,23 +122,18 @@ test.describe('cli codegen', () => {
const sources = await recorder.waitForOutput('JavaScript', 'setInputFiles');
expect(sources.get('JavaScript').text).toContain(`
// Upload file-to-upload.txt
await page.locator('input[type="file"]').setInputFiles('file-to-upload.txt');`);
expect(sources.get('Java').text).toContain(`
// Upload file-to-upload.txt
page.locator("input[type=\\\"file\\\"]").setInputFiles(Paths.get("file-to-upload.txt"));`);
expect(sources.get('Python').text).toContain(`
# Upload file-to-upload.txt
page.locator(\"input[type=\\\"file\\\"]\").set_input_files(\"file-to-upload.txt\")`);
expect(sources.get('Python Async').text).toContain(`
# Upload file-to-upload.txt
await page.locator(\"input[type=\\\"file\\\"]\").set_input_files(\"file-to-upload.txt\")`);
expect(sources.get('C#').text).toContain(`
// Upload file-to-upload.txt
await page.Locator(\"input[type=\\\"file\\\"]\").SetInputFilesAsync(new[] { \"file-to-upload.txt\" });`);
});
@ -169,23 +154,18 @@ test.describe('cli codegen', () => {
const sources = await recorder.waitForOutput('JavaScript', 'setInputFiles');
expect(sources.get('JavaScript').text).toContain(`
// Upload file-to-upload.txt, file-to-upload-2.txt
await page.locator('input[type=\"file\"]').setInputFiles(['file-to-upload.txt', 'file-to-upload-2.txt']);`);
expect(sources.get('Java').text).toContain(`
// Upload file-to-upload.txt, file-to-upload-2.txt
page.locator("input[type=\\\"file\\\"]").setInputFiles(new Path[] {Paths.get("file-to-upload.txt"), Paths.get("file-to-upload-2.txt")});`);
expect(sources.get('Python').text).toContain(`
# Upload file-to-upload.txt, file-to-upload-2.txt
page.locator(\"input[type=\\\"file\\\"]\").set_input_files([\"file-to-upload.txt\", \"file-to-upload-2.txt\"]`);
expect(sources.get('Python Async').text).toContain(`
# Upload file-to-upload.txt, file-to-upload-2.txt
await page.locator(\"input[type=\\\"file\\\"]\").set_input_files([\"file-to-upload.txt\", \"file-to-upload-2.txt\"]`);
expect(sources.get('C#').text).toContain(`
// Upload file-to-upload.txt, file-to-upload-2.txt
await page.Locator(\"input[type=\\\"file\\\"]\").SetInputFilesAsync(new[] { \"file-to-upload.txt\", \"file-to-upload-2.txt\" });`);
});
@ -206,23 +186,18 @@ test.describe('cli codegen', () => {
const sources = await recorder.waitForOutput('JavaScript', 'setInputFiles');
expect(sources.get('JavaScript').text).toContain(`
// Clear selected files
await page.locator('input[type=\"file\"]').setInputFiles([]);`);
expect(sources.get('Java').text).toContain(`
// Clear selected files
page.locator("input[type=\\\"file\\\"]").setInputFiles(new Path[0]);`);
expect(sources.get('Python').text).toContain(`
# Clear selected files
page.locator(\"input[type=\\\"file\\\"]\").set_input_files([])`);
expect(sources.get('Python Async').text).toContain(`
# Clear selected files
await page.locator(\"input[type=\\\"file\\\"]\").set_input_files([])`);
expect(sources.get('C#').text).toContain(`
// Clear selected files
await page.Locator(\"input[type=\\\"file\\\"]\").SetInputFilesAsync(new[] { });`);
});
@ -254,7 +229,6 @@ test.describe('cli codegen', () => {
expect(sources.get('JavaScript').text).toContain(`
const context = await browser.newContext();`);
expect(sources.get('JavaScript').text).toContain(`
// Click text=Download
const [download] = await Promise.all([
page.waitForEvent('download'),
page.locator('text=Download').click()
@ -263,7 +237,6 @@ test.describe('cli codegen', () => {
expect(sources.get('Java').text).toContain(`
BrowserContext context = browser.newContext();`);
expect(sources.get('Java').text).toContain(`
// Click text=Download
Download download = page.waitForDownload(() -> {
page.locator("text=Download").click();
});`);
@ -271,7 +244,6 @@ test.describe('cli codegen', () => {
expect(sources.get('Python').text).toContain(`
context = browser.new_context()`);
expect(sources.get('Python').text).toContain(`
# Click text=Download
with page.expect_download() as download_info:
page.locator(\"text=Download\").click()
download = download_info.value`);
@ -279,7 +251,6 @@ test.describe('cli codegen', () => {
expect(sources.get('Python Async').text).toContain(`
context = await browser.new_context()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=Download
async with page.expect_download() as download_info:
await page.locator(\"text=Download\").click()
download = await download_info.value`);
@ -287,7 +258,6 @@ test.describe('cli codegen', () => {
expect(sources.get('C#').text).toContain(`
var context = await browser.NewContextAsync();`);
expect(sources.get('C#').text).toContain(`
// Click text=Download
var download1 = await page.RunAndWaitForDownloadAsync(async () =>
{
await page.Locator(\"text=Download\").ClickAsync();
@ -309,7 +279,6 @@ test.describe('cli codegen', () => {
const sources = await recorder.waitForOutput('JavaScript', 'once');
expect(sources.get('JavaScript').text).toContain(`
// Click text=click me
page.once('dialog', dialog => {
console.log(\`Dialog message: \${dialog.message()}\`);
dialog.dismiss().catch(() => {});
@ -317,7 +286,6 @@ test.describe('cli codegen', () => {
await page.locator('text=click me').click();`);
expect(sources.get('Java').text).toContain(`
// Click text=click me
page.onceDialog(dialog -> {
System.out.println(String.format("Dialog message: %s", dialog.message()));
dialog.dismiss();
@ -325,17 +293,14 @@ test.describe('cli codegen', () => {
page.locator("text=click me").click();`);
expect(sources.get('Python').text).toContain(`
# Click text=click me
page.once(\"dialog\", lambda dialog: dialog.dismiss())
page.locator(\"text=click me\").click()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=click me
page.once(\"dialog\", lambda dialog: dialog.dismiss())
await page.locator(\"text=click me\").click()`);
expect(sources.get('C#').text).toContain(`
// Click text=click me
void page_Dialog1_EventHandler(object sender, IDialog dialog)
{
Console.WriteLine($\"Dialog message: {dialog.Message}\");
@ -375,20 +340,16 @@ test.describe('cli codegen', () => {
if (browserName !== 'firefox') {
expect(sources.get('JavaScript').text).toContain(`
// Open new page
const page1 = await context.newPage();
await page1.goto('about:blank?foo');`);
expect(sources.get('Python Async').text).toContain(`
# Open new page
page1 = await context.new_page()
await page1.goto("about:blank?foo")`);
expect(sources.get('C#').text).toContain(`
// Open new page
var page1 = await context.NewPageAsync();
await page1.GotoAsync("about:blank?foo");`);
} else {
expect(sources.get('JavaScript').text).toContain(`
// Click text=link
const [page1] = await Promise.all([
page.waitForEvent('popup'),
page.locator('text=link').click({
@ -576,23 +537,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Fill textarea[name="name"]
await page.locator('textarea[name="name"]').fill('Hello\\'"\`\\nWorld');`);
expect(sources.get('Java').text).toContain(`
// Fill textarea[name="name"]
page.locator("textarea[name=\\\"name\\\"]").fill("Hello'\\"\`\\nWorld");`);
expect(sources.get('Python').text).toContain(`
# Fill textarea[name="name"]
page.locator(\"textarea[name=\\\"name\\\"]\").fill(\"Hello'\\"\`\\nWorld\")`);
expect(sources.get('Python Async').text).toContain(`
# Fill textarea[name="name"]
await page.locator(\"textarea[name=\\\"name\\\"]\").fill(\"Hello'\\"\`\\nWorld\")`);
expect(sources.get('C#').text).toContain(`
// Fill textarea[name="name"]
await page.Locator(\"textarea[name=\\\"name\\\"]\").FillAsync(\"Hello'\\"\`\\nWorld\");`);
expect(message.text()).toBe('Hello\'\"\`\nWorld');

View File

@ -37,23 +37,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=Submit >> nth=0
await page.locator('text=Submit').first().click();`);
expect(sources.get('Python').text).toContain(`
# Click text=Submit >> nth=0
page.locator("text=Submit").first.click()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=Submit >> nth=0
await page.locator("text=Submit").first.click()`);
expect(sources.get('Java').text).toContain(`
// Click text=Submit >> nth=0
page.locator("text=Submit").first().click();`);
expect(sources.get('C#').text).toContain(`
// Click text=Submit >> nth=0
await page.Locator("text=Submit").First.ClickAsync();`);
expect(message.text()).toBe('click1');
@ -77,23 +72,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=Submit >> nth=1
await page.locator('text=Submit').nth(1).click();`);
expect(sources.get('Python').text).toContain(`
# Click text=Submit >> nth=1
page.locator("text=Submit").nth(1).click()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=Submit >> nth=1
await page.locator("text=Submit").nth(1).click()`);
expect(sources.get('Java').text).toContain(`
// Click text=Submit >> nth=1
page.locator("text=Submit").nth(1).click();`);
expect(sources.get('C#').text).toContain(`
// Click text=Submit >> nth=1
await page.Locator("text=Submit").Nth(1).ClickAsync();`);
expect(message.text()).toBe('click2');
@ -131,23 +121,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=Hello1
await page.frameLocator('#frame1').locator('text=Hello1').click();`);
expect(sources.get('Java').text).toContain(`
// Click text=Hello1
page.frameLocator("#frame1").locator("text=Hello1").click();`);
expect(sources.get('Python').text).toContain(`
# Click text=Hello1
page.frame_locator("#frame1").locator("text=Hello1").click()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=Hello1
await page.frame_locator("#frame1").locator("text=Hello1").click()`);
expect(sources.get('C#').text).toContain(`
// Click text=Hello1
await page.FrameLocator("#frame1").Locator("text=Hello1").ClickAsync();`);
@ -157,23 +142,18 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=Hello2
await page.frameLocator('#frame1').frameLocator('iframe').locator('text=Hello2').click();`);
expect(sources.get('Java').text).toContain(`
// Click text=Hello2
page.frameLocator("#frame1").frameLocator("iframe").locator("text=Hello2").click();`);
expect(sources.get('Python').text).toContain(`
# Click text=Hello2
page.frame_locator("#frame1").frame_locator("iframe").locator("text=Hello2").click()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=Hello2
await page.frame_locator("#frame1").frame_locator("iframe").locator("text=Hello2").click()`);
expect(sources.get('C#').text).toContain(`
// Click text=Hello2
await page.FrameLocator("#frame1").FrameLocator("iframe").Locator("text=Hello2").ClickAsync();`);
@ -183,25 +163,20 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=HelloNameOne
await page.frame({
name: 'one'
}).locator('text=HelloNameOne').click();`);
expect(sources.get('Java').text).toContain(`
// Click text=HelloNameOne
page.frame("one").locator("text=HelloNameOne").click();`);
expect(sources.get('Python').text).toContain(`
# Click text=HelloNameOne
page.frame(name=\"one\").locator(\"text=HelloNameOne\").click()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=HelloNameOne
await page.frame(name=\"one\").locator(\"text=HelloNameOne\").click()`);
expect(sources.get('C#').text).toContain(`
// Click text=HelloNameOne
await page.Frame(\"one\").Locator(\"text=HelloNameOne\").ClickAsync();`);
@ -211,25 +186,20 @@ test.describe('cli codegen', () => {
]);
expect(sources.get('JavaScript').text).toContain(`
// Click text=HelloNameAnonymous
await page.frame({
url: 'about:blank'
}).locator('text=HelloNameAnonymous').click();`);
expect(sources.get('Java').text).toContain(`
// Click text=HelloNameAnonymous
page.frameByUrl("about:blank").locator("text=HelloNameAnonymous").click();`);
expect(sources.get('Python').text).toContain(`
# Click text=HelloNameAnonymous
page.frame(url=\"about:blank\").locator(\"text=HelloNameAnonymous\").click()`);
expect(sources.get('Python Async').text).toContain(`
# Click text=HelloNameAnonymous
await page.frame(url=\"about:blank\").locator(\"text=HelloNameAnonymous\").click()`);
expect(sources.get('C#').text).toContain(`
// Click text=HelloNameAnonymous
await page.FrameByUrl(\"about:blank\").Locator(\"text=HelloNameAnonymous\").ClickAsync();`);
});
});

View File

@ -235,7 +235,6 @@ public class Tests : PageTest
[TestMethod]
public async Task MyTest()
{
// Go to ${emptyHTML}
await Page.GotoAsync("${emptyHTML}");
}
@ -264,7 +263,6 @@ public class Tests : PageTest
[Test]
public async Task MyTest()
{
// Go to ${emptyHTML}
await Page.GotoAsync("${emptyHTML}");
}

View File

@ -101,13 +101,10 @@ test('should save the codegen output to a file if specified', async ({ browserNa
});
const context = await browser.newContext();
// Open new page
const page = await context.newPage();
// Go to ${emptyHTML}
await page.goto('${emptyHTML}');
// Close page
await page.close();
// ---------------------

View File

@ -49,7 +49,6 @@ def browser_context_args(browser_context_args, playwright):
def test_example(page: Page) -> None:
# Go to ${emptyHTML}
page.goto("${emptyHTML}")
`);
});
@ -64,7 +63,6 @@ test('should save the codegen output to a file if specified', async ({ runCLI },
def test_example(page: Page) -> None:
# Go to ${emptyHTML}
page.goto("${emptyHTML}")
`);
});

View File

@ -97,13 +97,10 @@ async def run(playwright: Playwright) -> None:
browser = await playwright.${browserName}.launch(${launchOptions(channel)})
context = await browser.new_context()
# Open new page
page = await context.new_page()
# Go to ${emptyHTML}
await page.goto("${emptyHTML}")
# Close page
await page.close()
# ---------------------

View File

@ -87,13 +87,10 @@ def run(playwright: Playwright) -> None:
browser = playwright.${browserName}.launch(${launchOptions(channel)})
context = browser.new_context()
# Open new page
page = context.new_page()
# Go to ${emptyHTML}
page.goto("${emptyHTML}")
# Close page
page.close()
# ---------------------