mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
fix(api): remove BrowserServer.connect (#574)
This commit is contained in:
parent
a6042e437a
commit
fa2f321fdd
18
docs/api.md
18
docs/api.md
@ -3373,7 +3373,6 @@ const newWindowTarget = await browser.chromium.waitForTarget(target => target.ur
|
|||||||
|
|
||||||
<!-- GEN:toc -->
|
<!-- GEN:toc -->
|
||||||
- [chromiumBrowserServer.close()](#chromiumbrowserserverclose)
|
- [chromiumBrowserServer.close()](#chromiumbrowserserverclose)
|
||||||
- [chromiumBrowserServer.connect()](#chromiumbrowserserverconnect)
|
|
||||||
- [chromiumBrowserServer.connectOptions()](#chromiumbrowserserverconnectoptions)
|
- [chromiumBrowserServer.connectOptions()](#chromiumbrowserserverconnectoptions)
|
||||||
- [chromiumBrowserServer.process()](#chromiumbrowserserverprocess)
|
- [chromiumBrowserServer.process()](#chromiumbrowserserverprocess)
|
||||||
- [chromiumBrowserServer.wsEndpoint()](#chromiumbrowserserverwsendpoint)
|
- [chromiumBrowserServer.wsEndpoint()](#chromiumbrowserserverwsendpoint)
|
||||||
@ -3384,11 +3383,6 @@ const newWindowTarget = await browser.chromium.waitForTarget(target => target.ur
|
|||||||
|
|
||||||
Closes the browser gracefully and makes sure the process is terminated.
|
Closes the browser gracefully and makes sure the process is terminated.
|
||||||
|
|
||||||
#### chromiumBrowserServer.connect()
|
|
||||||
- returns: <[Promise]<[ChromiumBrowser]>>
|
|
||||||
|
|
||||||
Connects to the browser server and returns a <[ChromiumBrowser]> object.
|
|
||||||
|
|
||||||
#### chromiumBrowserServer.connectOptions()
|
#### chromiumBrowserServer.connectOptions()
|
||||||
- returns: <[Object]>
|
- returns: <[Object]>
|
||||||
- `browserWSEndpoint` <?[string]> a [browser websocket endpoint](#browserwsendpoint) to connect to.
|
- `browserWSEndpoint` <?[string]> a [browser websocket endpoint](#browserwsendpoint) to connect to.
|
||||||
@ -3567,7 +3561,6 @@ Firefox browser instance does not expose Firefox-specific features.
|
|||||||
|
|
||||||
<!-- GEN:toc -->
|
<!-- GEN:toc -->
|
||||||
- [firefoxBrowserServer.close()](#firefoxbrowserserverclose)
|
- [firefoxBrowserServer.close()](#firefoxbrowserserverclose)
|
||||||
- [firefoxBrowserServer.connect()](#firefoxbrowserserverconnect)
|
|
||||||
- [firefoxBrowserServer.connectOptions()](#firefoxbrowserserverconnectoptions)
|
- [firefoxBrowserServer.connectOptions()](#firefoxbrowserserverconnectoptions)
|
||||||
- [firefoxBrowserServer.process()](#firefoxbrowserserverprocess)
|
- [firefoxBrowserServer.process()](#firefoxbrowserserverprocess)
|
||||||
- [firefoxBrowserServer.wsEndpoint()](#firefoxbrowserserverwsendpoint)
|
- [firefoxBrowserServer.wsEndpoint()](#firefoxbrowserserverwsendpoint)
|
||||||
@ -3578,11 +3571,6 @@ Firefox browser instance does not expose Firefox-specific features.
|
|||||||
|
|
||||||
Closes the browser gracefully and makes sure the process is terminated.
|
Closes the browser gracefully and makes sure the process is terminated.
|
||||||
|
|
||||||
#### firefoxBrowserServer.connect()
|
|
||||||
- returns: <[Promise]<[FirefoxBrowser]>>
|
|
||||||
|
|
||||||
Connects to the browser server and returns a <[FirefoxBrowser]> object.
|
|
||||||
|
|
||||||
#### firefoxBrowserServer.connectOptions()
|
#### firefoxBrowserServer.connectOptions()
|
||||||
- returns: <[Object]>
|
- returns: <[Object]>
|
||||||
- `browserWSEndpoint` <?[string]> a [browser websocket endpoint](#browserwsendpoint) to connect to.
|
- `browserWSEndpoint` <?[string]> a [browser websocket endpoint](#browserwsendpoint) to connect to.
|
||||||
@ -3680,7 +3668,6 @@ WebKit browser instance does not expose WebKit-specific features.
|
|||||||
|
|
||||||
<!-- GEN:toc -->
|
<!-- GEN:toc -->
|
||||||
- [webKitBrowserServer.close()](#webkitbrowserserverclose)
|
- [webKitBrowserServer.close()](#webkitbrowserserverclose)
|
||||||
- [webKitBrowserServer.connect()](#webkitbrowserserverconnect)
|
|
||||||
- [webKitBrowserServer.connectOptions()](#webkitbrowserserverconnectoptions)
|
- [webKitBrowserServer.connectOptions()](#webkitbrowserserverconnectoptions)
|
||||||
- [webKitBrowserServer.process()](#webkitbrowserserverprocess)
|
- [webKitBrowserServer.process()](#webkitbrowserserverprocess)
|
||||||
- [webKitBrowserServer.wsEndpoint()](#webkitbrowserserverwsendpoint)
|
- [webKitBrowserServer.wsEndpoint()](#webkitbrowserserverwsendpoint)
|
||||||
@ -3691,11 +3678,6 @@ WebKit browser instance does not expose WebKit-specific features.
|
|||||||
|
|
||||||
Closes the browser gracefully and makes sure the process is terminated.
|
Closes the browser gracefully and makes sure the process is terminated.
|
||||||
|
|
||||||
#### webKitBrowserServer.connect()
|
|
||||||
- returns: <[Promise]<[WebKitBrowser]>>
|
|
||||||
|
|
||||||
Connects to the browser server and returns a <[WebKitBrowser]> object.
|
|
||||||
|
|
||||||
#### webKitBrowserServer.connectOptions()
|
#### webKitBrowserServer.connectOptions()
|
||||||
- returns: <[Object]>
|
- returns: <[Object]>
|
||||||
- `slowMo` <[number]>
|
- `slowMo` <[number]>
|
||||||
|
@ -66,13 +66,6 @@ export class CRBrowserServer {
|
|||||||
this._connectOptions = connectOptions;
|
this._connectOptions = connectOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
async connect(): Promise<CRBrowser> {
|
|
||||||
const browser = await CRBrowser.connect(this._connectOptions);
|
|
||||||
// Hack: for typical launch scenario, ensure that close waits for actual process termination.
|
|
||||||
browser.close = this._gracefullyClose;
|
|
||||||
return browser;
|
|
||||||
}
|
|
||||||
|
|
||||||
process(): ChildProcess {
|
process(): ChildProcess {
|
||||||
return this._process;
|
return this._process;
|
||||||
}
|
}
|
||||||
@ -101,7 +94,10 @@ export class CRPlaywright implements Playwright {
|
|||||||
|
|
||||||
async launch(options?: LaunchOptions): Promise<CRBrowser> {
|
async launch(options?: LaunchOptions): Promise<CRBrowser> {
|
||||||
const server = await this.launchServer(options);
|
const server = await this.launchServer(options);
|
||||||
return server.connect();
|
const browser = await CRBrowser.connect(server.connectOptions());
|
||||||
|
// Hack: for typical launch scenario, ensure that close waits for actual process termination.
|
||||||
|
browser.close = () => server.close();
|
||||||
|
return browser;
|
||||||
}
|
}
|
||||||
|
|
||||||
async launchServer(options: LaunchOptions = {}): Promise<CRBrowserServer> {
|
async launchServer(options: LaunchOptions = {}): Promise<CRBrowserServer> {
|
||||||
|
@ -63,13 +63,6 @@ export class FFBrowserServer {
|
|||||||
this._connectOptions = connectOptions;
|
this._connectOptions = connectOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
async connect(): Promise<FFBrowser> {
|
|
||||||
const browser = await FFBrowser.connect(this._connectOptions);
|
|
||||||
// Hack: for typical launch scenario, ensure that close waits for actual process termination.
|
|
||||||
browser.close = this._gracefullyClose;
|
|
||||||
return browser;
|
|
||||||
}
|
|
||||||
|
|
||||||
process(): ChildProcess {
|
process(): ChildProcess {
|
||||||
return this._process;
|
return this._process;
|
||||||
}
|
}
|
||||||
@ -98,7 +91,10 @@ export class FFPlaywright implements Playwright {
|
|||||||
|
|
||||||
async launch(options: LaunchOptions): Promise<FFBrowser> {
|
async launch(options: LaunchOptions): Promise<FFBrowser> {
|
||||||
const server = await this.launchServer(options);
|
const server = await this.launchServer(options);
|
||||||
return server.connect();
|
const browser = await FFBrowser.connect(server.connectOptions());
|
||||||
|
// Hack: for typical launch scenario, ensure that close waits for actual process termination.
|
||||||
|
browser.close = () => server.close();
|
||||||
|
return browser;
|
||||||
}
|
}
|
||||||
|
|
||||||
async launchServer(options: LaunchOptions = {}): Promise<FFBrowserServer> {
|
async launchServer(options: LaunchOptions = {}): Promise<FFBrowserServer> {
|
||||||
|
@ -69,13 +69,6 @@ export class WKBrowserServer {
|
|||||||
this._connectOptions = connectOptions;
|
this._connectOptions = connectOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
async connect(): Promise<WKBrowser> {
|
|
||||||
const browser = await WKBrowser.connect(this._connectOptions);
|
|
||||||
// Hack: for typical launch scenario, ensure that close waits for actual process termination.
|
|
||||||
browser.close = this._gracefullyClose;
|
|
||||||
return browser;
|
|
||||||
}
|
|
||||||
|
|
||||||
process(): ChildProcess {
|
process(): ChildProcess {
|
||||||
return this._process;
|
return this._process;
|
||||||
}
|
}
|
||||||
@ -104,7 +97,10 @@ export class WKPlaywright implements Playwright {
|
|||||||
|
|
||||||
async launch(options?: LaunchOptions): Promise<WKBrowser> {
|
async launch(options?: LaunchOptions): Promise<WKBrowser> {
|
||||||
const server = await this.launchServer(options);
|
const server = await this.launchServer(options);
|
||||||
return server.connect();
|
const browser = await WKBrowser.connect(server.connectOptions());
|
||||||
|
// Hack: for typical launch scenario, ensure that close waits for actual process termination.
|
||||||
|
browser.close = () => server.close();
|
||||||
|
return browser;
|
||||||
}
|
}
|
||||||
|
|
||||||
async launchServer(options: LaunchOptions = {}): Promise<WKBrowserServer> {
|
async launchServer(options: LaunchOptions = {}): Promise<WKBrowserServer> {
|
||||||
|
@ -25,7 +25,7 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
|
|||||||
describe('Playwright.connect', function() {
|
describe('Playwright.connect', function() {
|
||||||
it('should be able to connect multiple times to the same browser', async({server}) => {
|
it('should be able to connect multiple times to the same browser', async({server}) => {
|
||||||
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
||||||
const local = await browserServer.connect();
|
const local = await playwright.connect(browserServer.connectOptions());
|
||||||
const remote = await playwright.connect({
|
const remote = await playwright.connect({
|
||||||
...defaultBrowserOptions,
|
...defaultBrowserOptions,
|
||||||
browserWSEndpoint: browserServer.wsEndpoint()
|
browserWSEndpoint: browserServer.wsEndpoint()
|
||||||
@ -40,7 +40,7 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
|
|||||||
});
|
});
|
||||||
it('should be able to close remote browser', async({server}) => {
|
it('should be able to close remote browser', async({server}) => {
|
||||||
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
||||||
const local = await browserServer.connect();
|
const local = await playwright.connect(browserServer.connectOptions());
|
||||||
const remote = await playwright.connect({
|
const remote = await playwright.connect({
|
||||||
...defaultBrowserOptions,
|
...defaultBrowserOptions,
|
||||||
browserWSEndpoint: browserServer.wsEndpoint()
|
browserWSEndpoint: browserServer.wsEndpoint()
|
||||||
@ -53,7 +53,7 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
|
|||||||
// @see https://github.com/GoogleChrome/puppeteer/issues/4197#issuecomment-481793410
|
// @see https://github.com/GoogleChrome/puppeteer/issues/4197#issuecomment-481793410
|
||||||
it('should be able to connect to the same page simultaneously', async({server}) => {
|
it('should be able to connect to the same page simultaneously', async({server}) => {
|
||||||
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
||||||
const local = await browserServer.connect();
|
const local = await playwright.connect(browserServer.connectOptions());
|
||||||
const remote = await playwright.connect({ ...defaultBrowserOptions, browserWSEndpoint: browserServer.wsEndpoint() });
|
const remote = await playwright.connect({ ...defaultBrowserOptions, browserWSEndpoint: browserServer.wsEndpoint() });
|
||||||
const [page1, page2] = await Promise.all([
|
const [page1, page2] = await Promise.all([
|
||||||
new Promise(x => local.once('targetcreated', target => x(target.page()))),
|
new Promise(x => local.once('targetcreated', target => x(target.page()))),
|
||||||
|
@ -161,7 +161,7 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
|
|||||||
it('should support the pipe option', async() => {
|
it('should support the pipe option', async() => {
|
||||||
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
||||||
const browserServer = await playwright.launchServer(options);
|
const browserServer = await playwright.launchServer(options);
|
||||||
const browser = await browserServer.connect();
|
const browser = await playwright.connect(browserServer.connectOptions());
|
||||||
expect((await browser.defaultContext().pages()).length).toBe(1);
|
expect((await browser.defaultContext().pages()).length).toBe(1);
|
||||||
expect(browserServer.wsEndpoint()).toBe(null);
|
expect(browserServer.wsEndpoint()).toBe(null);
|
||||||
const page = await browser.defaultContext().newPage();
|
const page = await browser.defaultContext().newPage();
|
||||||
@ -173,7 +173,7 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
|
|||||||
const options = Object.assign({}, defaultBrowserOptions);
|
const options = Object.assign({}, defaultBrowserOptions);
|
||||||
options.args = ['--remote-debugging-pipe'].concat(options.args || []);
|
options.args = ['--remote-debugging-pipe'].concat(options.args || []);
|
||||||
const browserServer = await playwright.launchServer(options);
|
const browserServer = await playwright.launchServer(options);
|
||||||
const browser = await browserServer.connect();
|
const browser = await playwright.connect(browserServer.connectOptions());
|
||||||
expect(browserServer.wsEndpoint()).toBe(null);
|
expect(browserServer.wsEndpoint()).toBe(null);
|
||||||
const page = await browser.defaultContext().newPage();
|
const page = await browser.defaultContext().newPage();
|
||||||
expect(await page.evaluate('11 * 11')).toBe(121);
|
expect(await page.evaluate('11 * 11')).toBe(121);
|
||||||
@ -183,7 +183,7 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
|
|||||||
it('should fire "disconnected" when closing with pipe', async() => {
|
it('should fire "disconnected" when closing with pipe', async() => {
|
||||||
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
||||||
const browserServer = await playwright.launchServer(options);
|
const browserServer = await playwright.launchServer(options);
|
||||||
const browser = await browserServer.connect();
|
const browser = await playwright.connect(browserServer.connectOptions());
|
||||||
const disconnectedEventPromise = new Promise(resolve => browser.once('disconnected', resolve));
|
const disconnectedEventPromise = new Promise(resolve => browser.once('disconnected', resolve));
|
||||||
// Emulate user exiting browser.
|
// Emulate user exiting browser.
|
||||||
browserServer.process().kill();
|
browserServer.process().kill();
|
||||||
@ -210,7 +210,7 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
|
|||||||
describe('Browser.Events.disconnected', function() {
|
describe('Browser.Events.disconnected', function() {
|
||||||
it('should be emitted when: browser gets closed, disconnected or underlying websocket gets closed', async() => {
|
it('should be emitted when: browser gets closed, disconnected or underlying websocket gets closed', async() => {
|
||||||
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
||||||
const originalBrowser = await browserServer.connect();
|
const originalBrowser = await playwright.connect(browserServer.connectOptions());
|
||||||
const browserWSEndpoint = browserServer.wsEndpoint();
|
const browserWSEndpoint = browserServer.wsEndpoint();
|
||||||
const remoteBrowser1 = await playwright.connect({browserWSEndpoint});
|
const remoteBrowser1 = await playwright.connect({browserWSEndpoint});
|
||||||
const remoteBrowser2 = await playwright.connect({browserWSEndpoint});
|
const remoteBrowser2 = await playwright.connect({browserWSEndpoint});
|
||||||
|
@ -140,7 +140,7 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
|
|||||||
describe('Playwright.connect', function() {
|
describe('Playwright.connect', function() {
|
||||||
it.skip(WEBKIT)('should be able to reconnect to a browser', async({server}) => {
|
it.skip(WEBKIT)('should be able to reconnect to a browser', async({server}) => {
|
||||||
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
const browserServer = await playwright.launchServer(defaultBrowserOptions);
|
||||||
const browser = await browserServer.connect();
|
const browser = await playwright.connect(browserServer.connectOptions());
|
||||||
const browserWSEndpoint = browserServer.wsEndpoint();
|
const browserWSEndpoint = browserServer.wsEndpoint();
|
||||||
const page = await browser.defaultContext().newPage();
|
const page = await browser.defaultContext().newPage();
|
||||||
await page.goto(server.PREFIX + '/frames/nested-frames.html');
|
await page.goto(server.PREFIX + '/frames/nested-frames.html');
|
||||||
|
@ -91,7 +91,7 @@ module.exports.describe = ({testRunner, product, playwrightPath}) => {
|
|||||||
describe('Browser', function() {
|
describe('Browser', function() {
|
||||||
beforeAll(async state => {
|
beforeAll(async state => {
|
||||||
state.browserServer = await playwright.launchServer(defaultBrowserOptions);
|
state.browserServer = await playwright.launchServer(defaultBrowserOptions);
|
||||||
state.browser = await state.browserServer.connect();
|
state.browser = await playwright.connect(state.browserServer.connectOptions());
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async state => {
|
afterAll(async state => {
|
||||||
|
@ -23,7 +23,7 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
|
|||||||
beforeAll(async state => {
|
beforeAll(async state => {
|
||||||
state.controlledBrowserServer = await playwright.launchServer({ ...defaultBrowserOptions, pipe: false });
|
state.controlledBrowserServer = await playwright.launchServer({ ...defaultBrowserOptions, pipe: false });
|
||||||
state.hostBrowserServer = await playwright.launchServer(defaultBrowserOptions);
|
state.hostBrowserServer = await playwright.launchServer(defaultBrowserOptions);
|
||||||
state.hostBrowser = await state.hostBrowserServer.connect();
|
state.hostBrowser = await playwright.connect(state.hostBrowserServer.connectOptions());
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async state => {
|
afterAll(async state => {
|
||||||
|
@ -31,7 +31,7 @@ module.exports.describe = function ({ testRunner, expect, playwright, defaultBro
|
|||||||
it('should have websocket by default', async() => {
|
it('should have websocket by default', async() => {
|
||||||
const options = Object.assign({pipe: false}, defaultBrowserOptions);
|
const options = Object.assign({pipe: false}, defaultBrowserOptions);
|
||||||
const browserServer = await playwright.launchServer(options);
|
const browserServer = await playwright.launchServer(options);
|
||||||
const browser = await browserServer.connect();
|
const browser = await playwright.connect(browserServer.connectOptions());
|
||||||
expect((await browser.defaultContext().pages()).length).toBe(1);
|
expect((await browser.defaultContext().pages()).length).toBe(1);
|
||||||
expect(browserServer.wsEndpoint()).not.toBe(null);
|
expect(browserServer.wsEndpoint()).not.toBe(null);
|
||||||
const page = await browser.defaultContext().newPage();
|
const page = await browser.defaultContext().newPage();
|
||||||
@ -42,7 +42,7 @@ module.exports.describe = function ({ testRunner, expect, playwright, defaultBro
|
|||||||
it('should support the pipe option', async() => {
|
it('should support the pipe option', async() => {
|
||||||
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
||||||
const browserServer = await playwright.launchServer(options);
|
const browserServer = await playwright.launchServer(options);
|
||||||
const browser = await browserServer.connect();
|
const browser = await playwright.connect(browserServer.connectOptions());
|
||||||
expect((await browser.defaultContext().pages()).length).toBe(1);
|
expect((await browser.defaultContext().pages()).length).toBe(1);
|
||||||
expect(browserServer.wsEndpoint()).toBe(null);
|
expect(browserServer.wsEndpoint()).toBe(null);
|
||||||
const page = await browser.defaultContext().newPage();
|
const page = await browser.defaultContext().newPage();
|
||||||
@ -53,7 +53,7 @@ module.exports.describe = function ({ testRunner, expect, playwright, defaultBro
|
|||||||
it('should fire "disconnected" when closing with pipe', async() => {
|
it('should fire "disconnected" when closing with pipe', async() => {
|
||||||
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
||||||
const browserServer = await playwright.launchServer(options);
|
const browserServer = await playwright.launchServer(options);
|
||||||
const browser = await browserServer.connect();
|
const browser = await playwright.connect(browserServer.connectOptions());
|
||||||
const disconnectedEventPromise = new Promise(resolve => browser.once('disconnected', resolve));
|
const disconnectedEventPromise = new Promise(resolve => browser.once('disconnected', resolve));
|
||||||
// Emulate user exiting browser.
|
// Emulate user exiting browser.
|
||||||
process.kill(-browserServer.process().pid, 'SIGKILL');
|
process.kill(-browserServer.process().pid, 'SIGKILL');
|
||||||
@ -62,7 +62,7 @@ module.exports.describe = function ({ testRunner, expect, playwright, defaultBro
|
|||||||
it('should fire "disconnected" when closing with websocket', async() => {
|
it('should fire "disconnected" when closing with websocket', async() => {
|
||||||
const options = Object.assign({pipe: false}, defaultBrowserOptions);
|
const options = Object.assign({pipe: false}, defaultBrowserOptions);
|
||||||
const browserServer = await playwright.launchServer(options);
|
const browserServer = await playwright.launchServer(options);
|
||||||
const browser = await browserServer.connect();
|
const browser = await playwright.connect(browserServer.connectOptions());
|
||||||
const disconnectedEventPromise = new Promise(resolve => browser.once('disconnected', resolve));
|
const disconnectedEventPromise = new Promise(resolve => browser.once('disconnected', resolve));
|
||||||
// Emulate user exiting browser.
|
// Emulate user exiting browser.
|
||||||
process.kill(-browserServer.process().pid, 'SIGKILL');
|
process.kill(-browserServer.process().pid, 'SIGKILL');
|
||||||
|
@ -12,7 +12,8 @@ async function generateChromiunProtocol(revision) {
|
|||||||
const playwright = await require('../../index').chromium;
|
const playwright = await require('../../index').chromium;
|
||||||
const browserServer = await playwright.launchServer({executablePath: revision.executablePath});
|
const browserServer = await playwright.launchServer({executablePath: revision.executablePath});
|
||||||
const origin = browserServer.wsEndpoint().match(/ws:\/\/([0-9A-Za-z:\.]*)\//)[1];
|
const origin = browserServer.wsEndpoint().match(/ws:\/\/([0-9A-Za-z:\.]*)\//)[1];
|
||||||
const page = await (await browserServer.connect()).defaultContext().newPage();
|
const browser = await playwright.connect(browserServer.connectOptions());
|
||||||
|
const page = await browser.defaultContext().newPage();
|
||||||
await page.goto(`http://${origin}/json/protocol`);
|
await page.goto(`http://${origin}/json/protocol`);
|
||||||
const json = JSON.parse(await page.evaluate(() => document.documentElement.innerText));
|
const json = JSON.parse(await page.evaluate(() => document.documentElement.innerText));
|
||||||
await browserServer.close();
|
await browserServer.close();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user