diff --git a/pom.xml b/pom.xml
index 275cbfd..befc8ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -105,6 +105,23 @@
+
+ smartui
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ com/lambdatest/SmartUI.java
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/java/com/lambdatest/SmartUI.java b/src/test/java/com/lambdatest/SmartUI.java
new file mode 100644
index 0000000..6e87dc2
--- /dev/null
+++ b/src/test/java/com/lambdatest/SmartUI.java
@@ -0,0 +1,83 @@
+package com.lambdatest;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.openqa.selenium.remote.DesiredCapabilities;
+import org.openqa.selenium.remote.RemoteWebDriver;
+import org.openqa.selenium.By;
+import org.openqa.selenium.chrome.ChromeOptions;
+import java.net.MalformedURLException;
+import org.openqa.selenium.JavascriptExecutor;
+import java.net.URL;
+import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
+
+public class SmartUI {
+ String username = System.getenv("LT_USERNAME") == null ? "Your LT Username" : System.getenv("LT_USERNAME");
+ String accessKey = System.getenv("LT_ACCESS_KEY") == null ? "Your LT AccessKey" : System.getenv("LT_ACCESS_KEY");
+ public static RemoteWebDriver driver = null;
+
+ public String gridURL = "@hub.lambdatest.com/wd/hub";
+ public String status = "failed";
+
+ @Before
+ public void setUp() throws Exception {
+ ChromeOptions browserOptions = new ChromeOptions();
+
+ Map ltOptions = new HashMap<>();
+ ltOptions.put("build", "JUnitSampleTestApp");
+ ltOptions.put("name", "JUnitSampleTest");
+ ltOptions.put("project", "SmartUI-Junit-Selenium"); //Enter Project name here
+ ltOptions.put("smartUI.project", "Junit-Selenium"); //Enter smartUI Project name here
+ ltOptions.put("w3c", true);
+ ltOptions.put("plugin", "junit-junit");
+ browserOptions.setCapability("LT:Options", ltOptions);
+
+ try {
+ driver = new RemoteWebDriver(new URL("https://" + username + ":" + accessKey + gridURL), browserOptions);
+ } catch (MalformedURLException e) {
+ System.out.println("Invalid grid URL");
+ } catch (Exception e) {
+ System.out.println(e.getMessage());
+ }
+ }
+
+ @Test
+ public void testSimple() throws Exception {
+ try {
+ driver.get("https://lambdatest.github.io/sample-todo-app/");
+
+ //Let's mark done first two items in the list.
+ driver.findElement(By.name("li1")).click();
+ driver.findElement(By.name("li2")).click();
+
+ // Let's add an item in the list.
+ driver.findElement(By.id("sampletodotext")).sendKeys("Yey, Let's add it to list");
+ driver.findElement(By.id("addbutton")).click();
+
+ // Let's check that the item we added is added in the list.
+ String enteredText = driver.findElementByXPath("/html/body/div/div/div/ul/li[6]/span").getText();
+ if (enteredText.equals("Yey, Let's add it to list")) {
+ status = "passed";
+ }
+
+ // Webhook for Screenshot
+ Map config = new HashMap<>();
+ config.put("screenshotName","todo-list"); //Add your snapshot name here for SmartUI
+ ((JavascriptExecutor)driver).executeScript("smartui.takeScreenshot", config); //Hook for capturing snapshot on SmartUI
+
+ } catch (Exception e) {
+ System.out.println(e.getMessage());
+ }
+ }
+ @After
+ public void tearDown() throws Exception {
+ if (driver != null) {
+ driver.executeScript("lambda-status=" + status);
+ driver.quit();
+ }
+ }
+}
+