@BeforeClass public static void setup() throws Exception { registry = Registry.getNewInstanceForTestOnly(); hub = Hub.getNewInstanceForTest(PortProber.findFreePort(), registry); status = new URL("http://" + hub.getHost() + ":" + hub.getPort() + "/grid/status"); host = new HttpHost(hub.getHost(), hub.getPort()); hub.start(); p1 = RemoteProxyFactory.getNewBasicRemoteProxy("app1", "http://machine1:4444/"); p2 = RemoteProxyFactory.getNewBasicRemoteProxy("app1", "http://machine2:4444/"); p3 = RemoteProxyFactory.getNewBasicRemoteProxy("app1", "http://machine3:4444/"); p4 = RemoteProxyFactory.getNewBasicRemoteProxy("app1", "http://machine4:4444/"); RegistrationRequest req = new RegistrationRequest(); Map<String, Object> capability = new HashMap<String, Object>(); capability.put("applicationName", "custom app"); req.addDesiredCapabilitiy(capability); Map<String, Object> config = new HashMap<String, Object>(); config.put("url", "http://machine5:4444/"); req.setConfiguration(config); customProxy = new MyCustomProxy(req); registry.add(p1); registry.add(p2); registry.add(p3); registry.add(p4); registry.add(customProxy); }
@Override public void launch(String[] args, Logger log) throws Exception { log.info("Launching Selenium Grid hub"); GridHubConfiguration c = GridHubConfiguration.build(args); Hub h = new Hub(c); h.start(); log.info("Nodes should register to " + h.getRegistrationURL()); log.info("Selenium Grid hub is up and running"); }
// start a small grid that only has 1 testing slot : firefox @BeforeClass(alwaysRun = true) public void prepare() throws Exception { hub.start(); hubURL = new URL("http://" + hub.getHost() + ":" + hub.getPort()); SelfRegisteringRemote remote = SelfRegisteringRemote.create( SeleniumProtocol.WebDriver, PortProber.findFreePort(), hub.getRegistrationURL()); remote.addFirefoxSupport(null); remote.setMaxConcurrentSession(1); remote.setTimeout(-1, -1); remote.launchRemoteServer(); remote.registerToHub(); // assigning a priority rule where requests with the flag "important" // go first. hub.getRegistry() .setPrioritizer( new Prioritizer() { public int compareTo(Map<String, Object> a, Map<String, Object> b) { boolean aImportant = a.get("important") == null ? false : Boolean.parseBoolean(a.get("important").toString()); boolean bImportant = b.get("important") == null ? false : Boolean.parseBoolean(b.get("important").toString()); if (aImportant == bImportant) { return 0; } if (aImportant && !bImportant) { return -1; } else { return 1; } } }); }