Skip to content

Instantly share code, notes, and snippets.

@muditlambda
Created February 4, 2022 06:47
Show Gist options
  • Select an option

  • Save muditlambda/84289f42e1c377ee460df2851dc30bc7 to your computer and use it in GitHub Desktop.

Select an option

Save muditlambda/84289f42e1c377ee460df2851dc30bc7 to your computer and use it in GitHub Desktop.

Revisions

  1. muditlambda created this gist Feb 4, 2022.
    62 changes: 62 additions & 0 deletions MainEventHandler.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,62 @@
    package listeners;

    import java.net.MalformedURLException;
    import java.net.URL;

    import org.openqa.selenium.By;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.openqa.selenium.remote.RemoteWebDriver;
    import org.openqa.selenium.support.events.EventFiringWebDriver;
    import org.testng.annotations.AfterTest;
    import org.testng.annotations.BeforeTest;
    import org.testng.annotations.Test;

    public class MainEventHandler {

    public RemoteWebDriver driver = null;
    String username = "<LambdaTest_Username>";
    String accessKey = "<LambdaTest_Accesskey>";;

    @BeforeTest
    public void setUp() throws Exception {
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("browserName", "Chrome");
    capabilities.setCapability("version", "92.0");
    capabilities.setCapability("platform", "Windows 10");
    capabilities.setCapability("resolution", "1024x768");
    capabilities.setCapability("build", "Selenium Automation Testing");
    capabilities.setCapability("name", "Events And Listeners with JAVA");
    capabilities.setCapability("network", true); // To enable network logs
    capabilities.setCapability("visual", true); // To enable step by step screenshot
    capabilities.setCapability("video", true); // To enable video recording
    capabilities.setCapability("console", true); // To capture console logs

    try {
    driver = new RemoteWebDriver(
    new URL("https://" + username + ":" + accessKey + "@hub.lambdatest.com/wd/hub"), capabilities);
    } catch (MalformedURLException e) {
    System.out.println("Invalid grid URL");
    }
    }


    @AfterTest
    public void teardown() {
    driver.quit();
    }

    @Test(enabled = true)
    public void testEventListerners() {

    EventFiringWebDriver eventFiringWebDriver = new EventFiringWebDriver(driver);
    WebDriverEventHandler webDriverEventHandler = new WebDriverEventHandler();
    eventFiringWebDriver.register(webDriverEventHandler);

    eventFiringWebDriver.navigate().to("https://www.lambdatest.com/selenium-playground/simple-form-demo");
    eventFiringWebDriver.findElement(By.id("user-message")).sendKeys("WebDriver Event Listener");
    eventFiringWebDriver.findElement(By.id("showInput")).click();
    eventFiringWebDriver.navigate().refresh();

    eventFiringWebDriver.unregister(webDriverEventHandler);
    }
    }