diff --git a/lib/launcher.js b/lib/launcher.js index f0fde7054..80d5d1d30 100644 --- a/lib/launcher.js +++ b/lib/launcher.js @@ -173,8 +173,10 @@ function Launcher (server, emitter, injector) { this.markCaptured = (id) => { const browser = getBrowserById(id) - browser.markCaptured() - log.debug(`${browser.name} (id ${browser.id}) captured in ${(Date.now() - lastStartTime) / 1000} secs`) + if (browser) { + browser.markCaptured() + log.debug(`${browser.name} (id ${browser.id}) captured in ${(Date.now() - lastStartTime) / 1000} secs`) + } } emitter.on('exit', this.killAll) diff --git a/test/unit/launcher.spec.js b/test/unit/launcher.spec.js index d00ffa684..129773295 100644 --- a/test/unit/launcher.spec.js +++ b/test/unit/launcher.spec.js @@ -306,6 +306,12 @@ describe('launcher', () => { }) }) + describe('markCaptured', () => { + it('should not fail if an un-launched browser attaches', () => { + expect(() => l.markCaptured('not-a-thing')).to.not.throw() + }) + }) + describe('onExit', () => { it('should kill all browsers', (done) => { l.launch(['Fake', 'Fake'], 1)