diff --git a/lib/server.js b/lib/server.js index 78bab1a65..da4685947 100644 --- a/lib/server.js +++ b/lib/server.js @@ -91,13 +91,20 @@ var start = function(injector, config, launcher, globalEmitter, preprocess, file socket.on('register', function(info) { var newBrowser; + var isRestart; if (info.id) { - newBrowser = capturedBrowsers.getById(info.id); + newBrowser = capturedBrowsers.getById(info.id) || singleRunBrowsers.getById(info.id); } if (newBrowser) { + isRestart = newBrowser.state === Browser.STATE_DISCONNECTED; newBrowser.reconnect(socket); + + // We are restarting a previously disconnected browser. + if (isRestart && config.singleRun) { + newBrowser.execute(config.client); + } } else { newBrowser = injector.createChild([{ id: ['value', info.id || null],