public void setUp() throws Exception {
super.setUp();
RemoteMachineServerHitter serverHitter = new RemoteMachineServerHitter();
ServerConfiguration configuration = new ServerConfiguration(source);
List<RemoteRunSpecification> specs = new ArrayList<RemoteRunSpecification>();
RemoteRunSpecificationBuilder builder = new RemoteRunSpecificationBuilder();
if (remoteBrowser != null)
specs.add(builder.forSingleRemoteBrowser(configuration.getRemoteMachineURLs().get(0), remoteBrowser));
else
specs.addAll(builder.forAllBrowsersFromRemoteURLs(configuration.getRemoteMachineURLs()));
manager = new DistributedTestRunManager(serverHitter, configuration, overrideURL, specs);
manager.setListener(new DistributedTestRunListenerImpl(configuration));
ensureTemporaryServerIsCreated();
startServerIfNecessary();
}