public String renderSummary() {
    StringBuilder builder = new StringBuilder();
    builder.append("<fieldset>");
    builder.append("<legend>").append(proxy.getClass().getSimpleName()).append("</legend>");
    builder.append("listening on ").append(proxy.getRemoteHost());
    if (proxy.getTimeOut() > 0) {
      int inSec = proxy.getTimeOut() / 1000;
      builder.append("test session time out after ").append(inSec).append(" sec.");
    }

    builder
        .append("<br>Supports up to <b>")
        .append(proxy.getMaxNumberOfConcurrentTestSessions())
        .append("</b> concurrent tests from : </u><br>");

    for (TestSlot slot : proxy.getTestSlots()) {
      builder.append(
          slot.getCapabilities().containsKey(BROWSER)
              ? slot.getCapabilities().get(BROWSER)
              : slot.getCapabilities().get(APP));
      builder.append("protocol:" + slot.getProtocol() + "<br>");
      TestSession session = slot.getSession();
      builder.append(session == null ? "(free)" : "(busy, session " + session + ")");
      builder.append("<br>");
    }
    builder.append("</fieldset>");
    return builder.toString();
  }
Example #2
0
 private Object getValueByReflection(RemoteProxy proxy, String method) {
   Class<?>[] argsClass = new Class[] {};
   try {
     Method m = proxy.getClass().getDeclaredMethod(method, argsClass);
     return m.invoke(proxy);
   } catch (Throwable e) {
     throw new RuntimeException(e.getClass() + " - " + e.getMessage());
   }
 }
  @Test
  public void defaultToRemoteProxy() {
    GridNodeConfiguration nodeConfiguration = new GridNodeConfiguration();
    new JCommander(nodeConfiguration, "-role", "webdriver", "-host", "localhost");
    RegistrationRequest res = RegistrationRequest.build(nodeConfiguration);
    res.getCapabilities().clear();
    RegistrationRequest req = res;

    Map<String, Object> app1 = new HashMap<>();
    GridNodeConfiguration config = new GridNodeConfiguration();
    app1.put(CapabilityType.APPLICATION_NAME, "app1");

    req.addDesiredCapability(app1);
    req.setConfiguration(config);

    // requires Custom1 & Custom1 set in config to work.
    RemoteProxy p = BaseRemoteProxy.getNewInstance(req, registry);
    assertEquals(BaseRemoteProxy.class, p.getClass());
  }
  @Test
  public void existing() {
    Map<String, Object> app1 = new HashMap<>();
    GridNodeConfiguration config = new GridNodeConfiguration();
    app1.put(CapabilityType.APPLICATION_NAME, "app1");
    config.proxy = "org.openqa.grid.plugin.MyRemoteProxy";

    config.custom.put("Custom1", "A");
    config.custom.put("Custom2", "B");

    RegistrationRequest req = new RegistrationRequest();
    req.addDesiredCapability(app1);
    req.setConfiguration(config);

    RemoteProxy p = BaseRemoteProxy.getNewInstance(req, registry);

    assertEquals(p.getClass(), MyRemoteProxy.class);
    MyRemoteProxy myRemoteProxy = (MyRemoteProxy) p;
    assertEquals("A", myRemoteProxy.getCustom1());
    assertEquals("B", myRemoteProxy.getCustom2());
    assertEquals("A", myRemoteProxy.getConfig().custom.get("Custom1"));
    assertEquals("B", myRemoteProxy.getConfig().custom.get("Custom2"));
  }