fix(Launcher): consume protocol errors when initiating browser.close() (#2332)

Handle errors properly while sending Browser.close()

Fixes #1429.
This commit is contained in:
Andrey Lushnikov
2018-04-09 14:49:02 -07:00
committed by GitHub
parent a052b9e774
commit c86c12e605
2 changed files with 30 additions and 15 deletions

View File

@@ -14,6 +14,8 @@
* limitations under the License.
*/
const utils = require('./utils.js');
module.exports.addTests = function({testRunner, expect, defaultBrowserOptions, puppeteer}) {
const {describe, xdescribe, fdescribe} = testRunner;
const {it, fit, xit} = testRunner;
@@ -61,15 +63,24 @@ module.exports.addTests = function({testRunner, expect, defaultBrowserOptions, p
remoteBrowser1.on('disconnected', () => ++disconnectedRemote1);
remoteBrowser2.on('disconnected', () => ++disconnectedRemote2);
await remoteBrowser2.disconnect();
await Promise.all([
utils.waitForEvents(remoteBrowser2, 'disconnected'),
remoteBrowser2.disconnect(),
]);
expect(disconnectedOriginal).toBe(0);
expect(disconnectedRemote1).toBe(0);
expect(disconnectedRemote2).toBe(1);
await originalBrowser.close();
await Promise.all([
utils.waitForEvents(remoteBrowser1, 'disconnected'),
utils.waitForEvents(originalBrowser, 'disconnected'),
originalBrowser.close(),
]);
expect(disconnectedOriginal).toBe(1);
expect(disconnectedRemote1).toBe(1);
expect(disconnectedRemote2).toBe(1);
});
});
};
};