Search in sources :

Example 6 with JMXHelper

use of org.openqa.selenium.remote.server.jmx.JMXHelper in project zalenium by zalando.

the class SauceLabsRemoteProxyTest method setUp.

@Before
public void setUp() {
    try {
        ObjectName objectName = new ObjectName("org.seleniumhq.grid:type=Hub");
        ManagementFactory.getPlatformMBeanServer().getObjectInstance(objectName);
        new JMXHelper().unregister(objectName);
    } catch (MalformedObjectNameException | InstanceNotFoundException e) {
    // Might be that the object does not exist, it is ok. Nothing to do, this is just a cleanup task.
    }
    registry = ZaleniumRegistry.newInstance(new Hub(new GridHubConfiguration()));
    // Creating the configuration and the registration request of the proxy (node)
    RegistrationRequest request = TestUtils.getRegistrationRequestForTesting(30001, SauceLabsRemoteProxy.class.getCanonicalName());
    CommonProxyUtilities commonProxyUtilities = mock(CommonProxyUtilities.class);
    when(commonProxyUtilities.readJSONFromUrl(anyString(), anyString(), anyString())).thenReturn(null);
    SauceLabsRemoteProxy.setCommonProxyUtilities(commonProxyUtilities);
    sauceLabsProxy = SauceLabsRemoteProxy.getNewInstance(request, registry);
    // we need to register a DockerSeleniumStarter proxy to have a proper functioning SauceLabsProxy
    request = TestUtils.getRegistrationRequestForTesting(30000, DockerSeleniumStarterRemoteProxy.class.getCanonicalName());
    DockerSeleniumStarterRemoteProxy dsStarterProxy = DockerSeleniumStarterRemoteProxy.getNewInstance(request, registry);
    // We add both nodes to the registry
    registry.add(sauceLabsProxy);
    registry.add(dsStarterProxy);
}
Also used : MalformedObjectNameException(javax.management.MalformedObjectNameException) CommonProxyUtilities(de.zalando.ep.zalenium.util.CommonProxyUtilities) Hub(org.openqa.grid.web.Hub) JMXHelper(org.openqa.selenium.remote.server.jmx.JMXHelper) InstanceNotFoundException(javax.management.InstanceNotFoundException) GridHubConfiguration(org.openqa.grid.internal.utils.configuration.GridHubConfiguration) RegistrationRequest(org.openqa.grid.common.RegistrationRequest) ObjectName(javax.management.ObjectName) Before(org.junit.Before)

Example 7 with JMXHelper

use of org.openqa.selenium.remote.server.jmx.JMXHelper in project zalenium by zalando.

the class SauceLabsRemoteProxyTest method tearDown.

@After
public void tearDown() throws MalformedObjectNameException {
    ObjectName objectName = new ObjectName("org.seleniumhq.grid:type=RemoteProxy,node=\"https://ondemand.saucelabs.com:443\"");
    new JMXHelper().unregister(objectName);
    objectName = new ObjectName("org.seleniumhq.grid:type=RemoteProxy,node=\"http://localhost:30000\"");
    new JMXHelper().unregister(objectName);
    SauceLabsRemoteProxy.restoreCommonProxyUtilities();
    SauceLabsRemoteProxy.restoreGa();
    SauceLabsRemoteProxy.restoreEnvironment();
}
Also used : JMXHelper(org.openqa.selenium.remote.server.jmx.JMXHelper) ObjectName(javax.management.ObjectName) After(org.junit.After)

Example 8 with JMXHelper

use of org.openqa.selenium.remote.server.jmx.JMXHelper in project zalenium by zalando.

the class TestingBotRemoteProxyTest method tearDown.

@After
public void tearDown() throws MalformedObjectNameException {
    ObjectName objectName = new ObjectName("org.seleniumhq.grid:type=RemoteProxy,node=\"http://hub.testingbot.com:80\"");
    new JMXHelper().unregister(objectName);
    objectName = new ObjectName("org.seleniumhq.grid:type=RemoteProxy,node=\"http://localhost:30000\"");
    new JMXHelper().unregister(objectName);
    TestingBotRemoteProxy.restoreCommonProxyUtilities();
    TestingBotRemoteProxy.restoreGa();
    TestingBotRemoteProxy.restoreEnvironment();
}
Also used : JMXHelper(org.openqa.selenium.remote.server.jmx.JMXHelper) ObjectName(javax.management.ObjectName) After(org.junit.After)

Example 9 with JMXHelper

use of org.openqa.selenium.remote.server.jmx.JMXHelper in project zalenium by zalando.

the class TestingBotRemoteProxyTest method setUp.

@SuppressWarnings("ConstantConditions")
@Before
public void setUp() throws IOException {
    try {
        ObjectName objectName = new ObjectName("org.seleniumhq.grid:type=Hub");
        ManagementFactory.getPlatformMBeanServer().getObjectInstance(objectName);
        new JMXHelper().unregister(objectName);
    } catch (MalformedObjectNameException | InstanceNotFoundException e) {
    // Might be that the object does not exist, it is ok. Nothing to do, this is just a cleanup task.
    }
    registry = ZaleniumRegistry.newInstance(new Hub(new GridHubConfiguration()));
    // Creating the configuration and the registration request of the proxy (node)
    RegistrationRequest request = TestUtils.getRegistrationRequestForTesting(30002, TestingBotRemoteProxy.class.getCanonicalName());
    JsonElement informationSample = TestUtils.getTestInformationSample("testingbot_testinformation.json");
    String userInfoUrl = "https://api.testingbot.com/v1/user";
    Environment env = new Environment();
    CommonProxyUtilities commonProxyUtilities = mock(CommonProxyUtilities.class);
    when(commonProxyUtilities.readJSONFromUrl(userInfoUrl, env.getStringEnvVariable("TESTINGBOT_KEY", ""), env.getStringEnvVariable("TESTINGBOT_SECRET", ""))).thenReturn(null);
    String mockTestInfoUrl = "https://api.testingbot.com/v1/tests/2cf5d115-ca6f-4bc4-bc06-a4fca00836ce";
    when(commonProxyUtilities.readJSONFromUrl(mockTestInfoUrl, env.getStringEnvVariable("TESTINGBOT_KEY", ""), env.getStringEnvVariable("TESTINGBOT_SECRET", ""))).thenReturn(informationSample);
    TestingBotRemoteProxy.setCommonProxyUtilities(commonProxyUtilities);
    testingBotProxy = TestingBotRemoteProxy.getNewInstance(request, registry);
    // we need to register a DockerSeleniumStarter proxy to have a proper functioning testingBotProxy
    request = TestUtils.getRegistrationRequestForTesting(30000, DockerSeleniumStarterRemoteProxy.class.getCanonicalName());
    DockerSeleniumStarterRemoteProxy dsStarterProxy = DockerSeleniumStarterRemoteProxy.getNewInstance(request, registry);
    // Temporal folder for dashboard files
    TestUtils.ensureRequiredInputFilesExist(temporaryFolder);
    // We add both nodes to the registry
    registry.add(testingBotProxy);
    registry.add(dsStarterProxy);
}
Also used : MalformedObjectNameException(javax.management.MalformedObjectNameException) CommonProxyUtilities(de.zalando.ep.zalenium.util.CommonProxyUtilities) JMXHelper(org.openqa.selenium.remote.server.jmx.JMXHelper) InstanceNotFoundException(javax.management.InstanceNotFoundException) RegistrationRequest(org.openqa.grid.common.RegistrationRequest) ObjectName(javax.management.ObjectName) Hub(org.openqa.grid.web.Hub) JsonElement(com.google.gson.JsonElement) Environment(de.zalando.ep.zalenium.util.Environment) GridHubConfiguration(org.openqa.grid.internal.utils.configuration.GridHubConfiguration) Before(org.junit.Before)

Example 10 with JMXHelper

use of org.openqa.selenium.remote.server.jmx.JMXHelper in project zalenium by zalando.

the class VncAuthenticationServletTest method tearDown.

@After
public void tearDown() throws MalformedObjectNameException {
    ObjectName objectName = new ObjectName("org.seleniumhq.grid:type=RemoteProxy,node=\"http://localhost:40001\"");
    new JMXHelper().unregister(objectName);
    objectName = new ObjectName("org.seleniumhq.grid:type=RemoteProxy,node=\"http://localhost:40000\"");
    new JMXHelper().unregister(objectName);
    ContainerFactory.setContainerClientGenerator(originalContainerClient);
}
Also used : JMXHelper(org.openqa.selenium.remote.server.jmx.JMXHelper) ObjectName(javax.management.ObjectName) After(org.junit.After)

Aggregations

ObjectName (javax.management.ObjectName)22 JMXHelper (org.openqa.selenium.remote.server.jmx.JMXHelper)22 RegistrationRequest (org.openqa.grid.common.RegistrationRequest)10 InstanceNotFoundException (javax.management.InstanceNotFoundException)9 MalformedObjectNameException (javax.management.MalformedObjectNameException)9 GridHubConfiguration (org.openqa.grid.internal.utils.configuration.GridHubConfiguration)9 Hub (org.openqa.grid.web.Hub)9 After (org.junit.After)8 Before (org.junit.Before)8 CommonProxyUtilities (de.zalando.ep.zalenium.util.CommonProxyUtilities)6 Test (org.junit.Test)6 Environment (de.zalando.ep.zalenium.util.Environment)5 HttpServletResponse (javax.servlet.http.HttpServletResponse)5 DockerSeleniumRemoteProxy (de.zalando.ep.zalenium.proxy.DockerSeleniumRemoteProxy)3 DockerContainerMock (de.zalando.ep.zalenium.util.DockerContainerMock)3 HttpServletRequest (javax.servlet.http.HttpServletRequest)3 ExternalSessionKey (org.openqa.grid.internal.ExternalSessionKey)2 TestSession (org.openqa.grid.internal.TestSession)2 WebDriverRequest (org.openqa.grid.web.servlet.handler.WebDriverRequest)2 JsonElement (com.google.gson.JsonElement)1