Index: plugins/selenium/src/main/java/hudson/plugins/selenium/PluginImpl.java =================================================================== --- plugins/selenium/src/main/java/hudson/plugins/selenium/PluginImpl.java (revision 28260) +++ plugins/selenium/src/main/java/hudson/plugins/selenium/PluginImpl.java (working copy) @@ -66,6 +66,7 @@ private String rcFirefoxProfileTemplate; private String rcLog; private String hubLogLevel = "INFO"; + private Integer numberOfRCsPerHost; /** * Channel to Selenium Grid JVM. @@ -99,6 +100,11 @@ rcTrustAllSSLCerts = formData.getBoolean("rcTrustAllSSLCerts"); rcFirefoxProfileTemplate = formData.getString("rcFirefoxProfileTemplate"); hubLogLevel = formData.getString("hubLogLevel"); + String numberOfRCsPerHostString = formData.getString("numberOfRCsPerHost"); + if (numberOfRCsPerHostString != null && numberOfRCsPerHostString.trim().length() != 0) { + numberOfRCsPerHost = Integer.valueOf(numberOfRCsPerHostString); + } + try { save(); } catch (IOException e) { @@ -166,6 +172,11 @@ return hubLogLevel != null ? hubLogLevel : "INFO"; } + @Exported + public Integer getNumberOfRCsPerHost(){ + return numberOfRCsPerHost; + } + public void stop() throws Exception { channel.close(); } Index: plugins/selenium/src/main/java/hudson/plugins/selenium/ComputerListenerImpl.java =================================================================== --- plugins/selenium/src/main/java/hudson/plugins/selenium/ComputerListenerImpl.java (revision 28260) +++ plugins/selenium/src/main/java/hudson/plugins/selenium/ComputerListenerImpl.java (working copy) @@ -67,7 +67,7 @@ return; } final int masterPort = p.getPort(); - final int nrc = c.getNumExecutors(); + final int nrc = p.getNumberOfRCsPerHost() != null ? p.getNumberOfRCsPerHost() : c.getNumExecutors(); final StringBuilder labelList = new StringBuilder(); for(Label l : c.getNode().getAssignedLabels()) { labelList.append('/'); @@ -95,7 +95,6 @@ userArgs.add(p.getRcFirefoxProfileTemplate()); } - // make sure that Selenium Hub is started before we start RCs. try { p.waitForHubLaunch(); Index: plugins/selenium/src/main/resources/hudson/plugins/selenium/PluginImpl/config.jelly =================================================================== --- plugins/selenium/src/main/resources/hudson/plugins/selenium/PluginImpl/config.jelly (revision 28260) +++ plugins/selenium/src/main/resources/hudson/plugins/selenium/PluginImpl/config.jelly (working copy) @@ -22,6 +22,9 @@ + + +