Update playwright to 1.12.x and enable tracing for smoke tests (#128061)

* 🆙 playwright

* create trace
This commit is contained in:
Benjamin Pasero 2021-07-07 13:23:11 +02:00 committed by GitHub
parent 75aa22e7d9
commit fa032d752d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 12 deletions

View file

@ -178,7 +178,7 @@
"opn": "^6.0.0",
"optimist": "0.3.5",
"p-all": "^1.0.0",
"playwright": "1.11.1",
"playwright": "1.12.3",
"pump": "^1.0.1",
"queue": "3.0.6",
"rcedit": "^1.1.0",

View file

@ -15,6 +15,9 @@ import * as kill from 'tree-kill';
const width = 1200;
const height = 800;
const root = join(__dirname, '..', '..', '..');
const logsPath = join(root, '.build', 'logs', 'smoke-tests-browser');
const vscodeToPlaywrightKey: { [key: string]: string } = {
cmd: 'Meta',
ctrl: 'Control',
@ -29,7 +32,9 @@ const vscodeToPlaywrightKey: { [key: string]: string } = {
esc: 'Escape'
};
function buildDriver(browser: playwright.Browser, page: playwright.Page): IDriver {
let traceCounter = 1;
function buildDriver(browser: playwright.Browser, context: playwright.BrowserContext, page: playwright.Page): IDriver {
const driver: IDriver = {
_serviceBrand: undefined,
getWindowIds: () => {
@ -38,6 +43,7 @@ function buildDriver(browser: playwright.Browser, page: playwright.Page): IDrive
capturePage: () => Promise.resolve(''),
reloadWindow: (windowId) => Promise.resolve(),
exitApplication: async () => {
await context.tracing.stop({ path: join(logsPath, `playwright-trace-${traceCounter++}.zip`) });
await browser.close();
await teardown();
},
@ -108,9 +114,6 @@ export async function launch(userDataDir: string, _workspacePath: string, codeSe
...process.env
};
const root = join(__dirname, '..', '..', '..');
const logsPath = join(root, '.build', 'logs', 'smoke-tests-browser');
const args = ['--port', `${port++}`, '--browser', 'none', '--driver', 'web', '--extensions-dir', extPath];
let serverLocation: string | undefined;
@ -172,13 +175,14 @@ export function connect(browserType: 'chromium' | 'webkit' | 'firefox' = 'chromi
return new Promise(async (c) => {
const browser = await playwright[browserType].launch({ headless: false });
const context = await browser.newContext();
await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.setViewportSize({ width, height });
const payloadParam = `[["enableProposedApi",""],["skipWelcome","true"]]`;
await page.goto(`${endpoint}&folder=vscode-remote://localhost:9888${URI.file(workspacePath!).path}&payload=${payloadParam}`);
const result = {
client: { dispose: () => browser.close() && teardown() },
driver: buildDriver(browser, page)
driver: buildDriver(browser, context, page)
};
c(result);
});

View file

@ -7589,10 +7589,10 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0:
dependencies:
find-up "^4.0.0"
playwright@1.11.1:
version "1.11.1"
resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.11.1.tgz#c5f2946db5195bd099a57ce4e188c01057876cff"
integrity sha512-UuMrYuvzttbJXUD7sTVcQBsGRojelGepvuQPD+QtVm/n5zyKvkiUErU/DGRXfX8VDZRdQ5D6qVqZndrydC2b4w==
playwright@1.12.3:
version "1.12.3"
resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.12.3.tgz#113afa2cba10fb56e9a5b307377343e32a155a99"
integrity sha512-eyhHvZV7dMAUltqjQsgJ9CjZM8dznzN1+rcfCI6W6lfQ7IlPvTFGLuKOCcI4ETbjfbxqaS5FKIkb1WDDzq2Nww==
dependencies:
commander "^6.1.0"
debug "^4.1.1"
@ -7606,7 +7606,7 @@ playwright@1.11.1:
proxy-from-env "^1.1.0"
rimraf "^3.0.2"
stack-utils "^2.0.3"
ws "^7.3.1"
ws "^7.4.6"
yazl "^2.5.1"
plist@^3.0.1:
@ -10725,11 +10725,16 @@ write@1.0.3:
dependencies:
mkdirp "^0.5.1"
ws@^7.2.0, ws@^7.3.1:
ws@^7.2.0:
version "7.4.6"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
ws@^7.4.6:
version "7.5.2"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.2.tgz#09cc8fea3bec1bc5ed44ef51b42f945be36900f6"
integrity sha512-lkF7AWRicoB9mAgjeKbGqVUekLnSNO4VjKVnuPHpQeOxZOErX6BPXwJk70nFslRCEEA8EVW7ZjKwXaP9N+1sKQ==
xml-name-validator@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-1.0.0.tgz#dcf82ee092322951ef8cc1ba596c9cbfd14a83f1"