Best Testsigma code snippet using com.testsigma.automator.drivers.web.WebDriver.WebDriver
Source:WebDriverManager.java  
...8import lombok.extern.log4j.Log4j2;9import org.apache.commons.lang3.ObjectUtils;10import org.json.JSONObject;11import org.openqa.selenium.Capabilities;12import org.openqa.selenium.WebDriver;13import org.openqa.selenium.remote.RemoteWebDriver;14import java.io.IOException;15import java.util.HashMap;16import java.util.Map;17import java.util.Set;18@Log4j219public class WebDriverManager extends DriverManager {20  //TODO: All these fields can cause memory leak. Delete entries from these variable21  private final Map<String, String> windowHandles = new HashMap<>();22  private final Map<String, WebDriverSession> sessionMap = new HashMap<>();23  WebDriverManager() {24    super();25  }26  @Override27  protected RemoteWebDriver createDriverSession() throws AutomatorException, IOException {28    String browser = getTestDeviceSettings().getBrowser();29    switch (Browsers.getBrowser(browser)) {30      case GoogleChrome:31        setDriver(new ChromeDriver());32        break;33      case MozillaFirefox:34        setDriver(new FirefoxDriver());35        break;36      case Safari:37        setDriver(new SafariDriver());38        break;39      case MicrosoftEdge:40        setDriver(new EdgeDriver());41        break;42      default:43        throw new AutomatorException("Unknown browser type found. Unable to create corresponding driver session");44    }45    return getDriver().createSession();46  }47  @Override48  protected void afterSessionCreateActions()49    throws AutomatorException {50    super.afterSessionCreateActions();51    RemoteWebDriver driver = getDriver().getRemoteWebDriver();52    windowHandles.put(getExecutionUuid(), driver.getWindowHandle());53    setWebSession(driver);54  }55  @Override56  public void beforeEndSessionActions() throws AutomatorException {57    super.beforeEndSessionActions();58    windowHandles.remove(getExecutionUuid());59    sessionMap.remove(getExecutionUuid());60  }61  @Override62  public void performCleanUpAction(OnAbortedAction actionType) throws AutomatorException {63    switch (actionType) {64      case Restart_Session:65        log.info("On abort action - Ending session and marking session eligible for restart for execution id - "66          + getExecutionUuid());67        setRestartDriverSession(Boolean.TRUE);68        endSession();69        break;70      case Reuse_Session:71        log.info("On abort action - reusing session by performing actions: all windows except"72          + " main window will be closed and cookies will be deleted  for execution id - " + getExecutionUuid());73        closeAllWindowsExceptMainWindow();74        deleteCookies();75        break;76      default:77        log.error("Invalid action type is provided for on abort recovery actions");78    }79  }80  private void setWebSession(RemoteWebDriver driver) {81    TestDeviceSettings testDeviceSettings = EnvironmentRunner.getRunnerEnvironmentEntity().getEnvSettings();82    String executionUuid = EnvironmentRunner.getRunnerExecutionId();83    Capabilities cap = driver.getCapabilities();84    String browserVersion = cap.getVersion();85    if (browserVersion.contains(".")) {86      browserVersion = browserVersion.substring(0, browserVersion.indexOf(".") + 2);87    }88    testDeviceSettings.setBrowserVersionFound(browserVersion);89    WebDriverSession webSession = new WebDriverSession();90    JSONObject sessionSettings = ObjectUtils.defaultIfNull(webSession.getSettings(), new JSONObject());91    for (String key : JSONObject.getNames(new JSONObject(testDeviceSettings))) {92      sessionSettings.put(key, new JSONObject(testDeviceSettings).get(key));93    }94    webSession.setSettings(sessionSettings);95    sessionMap.put(executionUuid, webSession);96  }97  private void closeAllWindowsExceptMainWindow() throws AutomatorException {98    try {99      String mainWindowHandle = getMainWindowHandle();100      if (mainWindowHandle != null) {101        WebDriver sessionDriver = getDriver().getRemoteWebDriver();102        Set<String> sessionHandles = sessionDriver.getWindowHandles();103        log.info("Windows currently open before cleanup : \"" + sessionDriver.getWindowHandles().size() + "\"");104        for (String sessionHandle : sessionHandles) {105          if (!sessionHandle.equals(mainWindowHandle)) {106            try {107              sessionDriver.switchTo().window(sessionHandle);108              sessionDriver.close();109              log.info("Window with window handle \"" + sessionHandle + "\" is closed");110            } catch (Exception e) {111              log.error("Error in closing window with window handle \"" + sessionHandle + "\" , details::" + e.getMessage());112            }113          }114        }115        log.info("Windows open after cleanup : \"" + sessionDriver.getWindowHandles().size() + "\"");116        // Retaining focus back to the main window117        try {118          sessionDriver.switchTo().window(mainWindowHandle);119          log.info("The focus is changed to the window with window handle \"" + mainWindowHandle + "\"");120        } catch (Exception e) {121          log.error("Error in switching to the window with window handle \"" + mainWindowHandle + "\" , details::" + e.getMessage());122        }123      } else {124        log.error("There is no main window handle associated with the given execution id \"" + getExecutionUuid() + "\"");125      }126    } catch (Exception e) {127      log.error(e.getMessage(), e);128    }129  }130  private String getMainWindowHandle() {131    if (windowHandles.containsKey(getExecutionUuid())) {132      return windowHandles.get(getExecutionUuid());133    } else {134      log.error("There is no window handle stored for execution id \"" + getExecutionUuid() + "\"");135      return null;136    }137  }138  private void deleteCookies() {139    try {140      getDriver().getRemoteWebDriver().manage().deleteAllCookies();141      log.info("Deleted all cookies associated for webdriver instance associated with executionID:: " + getExecutionUuid());142    } catch (Exception e) {143      log.error("Error in deleting all cookies for webdriver instance associated with executionID:: "144        + getExecutionUuid() + ". Details:" + e.getMessage());145    }146  }147}...Source:WebDriver.java  
1package com.testsigma.automator.drivers.web;2import com.testsigma.automator.constants.TSCapabilityType;3import com.testsigma.automator.drivers.TestsigmaDriver;4import com.testsigma.automator.drivers.WebDriverCapability;5import com.testsigma.automator.entity.ExecutionLabType;6import com.testsigma.automator.exceptions.AutomatorException;7import com.testsigma.automator.utilities.TimeUtil;8import lombok.Data;9import lombok.EqualsAndHashCode;10import lombok.extern.log4j.Log4j2;11import org.openqa.selenium.html5.Location;12import org.openqa.selenium.html5.LocationContext;13import org.openqa.selenium.remote.Augmenter;14import org.openqa.selenium.remote.DesiredCapabilities;15import org.openqa.selenium.remote.LocalFileDetector;16import org.openqa.selenium.remote.RemoteWebDriver;17import java.net.MalformedURLException;18import java.time.Instant;19import java.util.Iterator;20import java.util.List;21@EqualsAndHashCode(callSuper = true)22@Data23@Log4j224public class WebDriver extends TestsigmaDriver {25  private static final String INVALID_GEO_LOCATION_ERROR = "Invalid \"geolocation\" desired capability value provided " +26    "in the execution configuration. For correct format refer to " +27    "https://testsigma.freshdesk.com/solution/articles/32000024808-sample-desired-capabilities";28  protected WebDriverCapability locationCapability;29  public WebDriver() {30    super();31  }32  @Override33  protected void setCapabilities() throws AutomatorException, MalformedURLException {34    super.setCapabilities();35    List<WebDriverCapability> additionalCapabilitiesList = webDriverSettings.getWebDriverCapabilities();36    setCommonCapabilities();37    setPlatformSpecificCapabilities();38    checkForLocationCapability(additionalCapabilitiesList);39    setBrowserSpecificCapabilities(additionalCapabilitiesList);40    setAdditionalCapabilities(additionalCapabilitiesList);41  }42  @Override43  protected void setCommonCapabilities() throws AutomatorException {44    super.setCommonCapabilities();45    capabilities.add(new WebDriverCapability(TSCapabilityType.NAME, executionName));46    capabilities.add(new WebDriverCapability(TSCapabilityType.ACCEPT_SSL_CERTS, Boolean.TRUE));47    capabilities.add(new WebDriverCapability(TSCapabilityType.UNHANDLED_PROMPT_BEHAVIOUR_KEY, TSCapabilityType.UNHANDLED_PROMPT_BEHAVIOUR_VALUE));48  }49  @Override50  protected void setTestsigmaLabCapabilities() throws AutomatorException {51    super.setTestsigmaLabCapabilities();52  }53  @Override54  protected void setHybridCapabilities() throws AutomatorException, MalformedURLException {55    super.setHybridCapabilities();56  }57  protected void setBrowserSpecificCapabilities(List<WebDriverCapability> additionalCapabilitiesList)58    throws AutomatorException {59  }60  protected void checkForLocationCapability(List<WebDriverCapability> additionalCapabilitiesList) {61    if (additionalCapabilitiesList != null) {62      for (Iterator<WebDriverCapability> single = additionalCapabilitiesList.listIterator(); single.hasNext(); ) {63        WebDriverCapability capability = single.next();64        String name = capability.getCapabilityName();65        if (com.testsigma.automator.constants.DesiredCapabilities.GEOLOCATION.equals(name)) {66          single.remove();67          locationCapability = new WebDriverCapability(name, capability.getCapabilityValue());68        }69      }70    }71  }72  @Override73  protected RemoteWebDriver createDriver(DesiredCapabilities desiredCapabilities) throws AutomatorException {74    Instant start = Instant.now();75    createDriverInstance(desiredCapabilities);76    Instant end = Instant.now();77    log.info("Web Driver Session Created in - " + TimeUtil.getFormattedDuration(start, end));78    log.info("Stating with post web driver creation actions");79    setLocation();80    setFileDetector();81    //deleteAllCookies();82    maximizeWindow();83    setTimeouts();84    log.info("Finished post web driver creation actions in ");85    return remoteWebDriver;86  }87  protected void createDriverInstance(DesiredCapabilities desiredCapabilities) throws AutomatorException {88  }89  protected void maximizeWindow() {90    getRemoteWebDriver().manage().window().maximize();91  }92  protected void setFileDetector() {93    if (getExecutionLabType() != ExecutionLabType.Hybrid) {94      remoteWebDriver.setFileDetector(new LocalFileDetector());95    }96  }97  protected void setLocation() throws AutomatorException {98    if (locationCapability != null) {99      try {100        String[] coordinates = locationCapability.getCapabilityValue().toString().split(",");101        ((LocationContext) new Augmenter().augment(getRemoteWebDriver()))102          .setLocation(new Location(Double.parseDouble(coordinates[0]),103            Double.parseDouble(coordinates[1]),104            Double.parseDouble(coordinates[2])));105      } catch (NumberFormatException e) {106        throw new AutomatorException(INVALID_GEO_LOCATION_ERROR);107      }108    }109  }110  protected String getSafariVersion() {111    String userAgent = (String) remoteWebDriver.executeScript("return navigator.userAgent;");112    return userAgent.substring(userAgent.indexOf("Version") + 8, userAgent.indexOf("Safari") - 1);113  }114}...WebDriver
Using AI Code Generation
1package com.testsigma.automator.drivers.web;2import org.openqa.selenium.By;3import org.openqa.selenium.WebDriver;4import org.openqa.selenium.WebElement;5import org.openqa.selenium.chrome.ChromeDriver;6import org.openqa.selenium.chrome.ChromeOptions;7import org.openqa.selenium.interactions.Actions;8import org.openqa.selenium.support.ui.ExpectedConditions;9import org.openqa.selenium.support.ui.WebDriverWait;10import java.util.List;11public class WebDriver {12    public static void main(String[] args) throws InterruptedException {13        System.setProperty("webdriver.chrome.driver", "C:\\Users\\TestSigma\\Downloads\\chromedriver_win32\\chromedriver.exe");14        ChromeOptions options = new ChromeOptions();15        options.addArguments("--start-maximized");16        WebDriver driver = new ChromeDriver(options);17        WebElement searchBox = driver.findElement(By.name("q"));18        searchBox.sendKeys("TestSigma");19        searchBox.submit();20        Thread.sleep(5000);21        driver.quit();22    }23}24package com.testsigma.automator.drivers.web;25import org.openqa.selenium.By;26import org.openqa.selenium.WebDriver;27import org.openqa.selenium.WebElement;28import org.openqa.selenium.chrome.ChromeDriver;29import org.openqa.selenium.chrome.ChromeOptions;30import org.openqa.selenium.interactions.Actions;31import org.openqa.selenium.support.ui.ExpectedConditions;32import org.openqa.selenium.support.ui.WebDriverWait;33import java.util.List;34public class WebDriver {35    public static void main(String[] args) throws InterruptedException {36        System.setProperty("webdriver.chrome.driver", "C:\\Users\\TestSigma\\Downloads\\chromedriver_win32\\chromedriver.exe");37        ChromeOptions options = new ChromeOptions();38        options.addArguments("--start-maximized");39        WebDriver driver = new ChromeDriver(options);40        WebElement searchBox = driver.findElement(By.name("q"));41        searchBox.sendKeys("TestSigma");42        searchBox.submit();43        Thread.sleep(5000);44        driver.quit();45    }46}47package com.testsigma.automator.drivers.web;48import org.openqa.selenium.By;49import org.openqa.selenium.WebDriver;50import org.openqa.selenium.WebElement;51import org.openqa.selenium.chrome.ChromeDriver;52import org.openqa.selenium.chrome.ChromeOptions;53import org.openqa.selenium.interactions.Actions;54importWebDriver
Using AI Code Generation
1import com.testsigma.automator.drivers.web.WebDriver;2public class 2 {3	public static void main(String[] args) throws Exception {4		WebDriver driver = new WebDriver();5		driver.launch("chrome");6		driver.close();7	}8}9import com.testsigma.automator.drivers.web.WebDriver;10public class 3 {11	public static void main(String[] args) throws Exception {12		WebDriver driver = new WebDriver();13		driver.launch("chrome");14		driver.close();15	}16}17import com.testsigma.automator.drivers.web.WebDriver;18public class 4 {19	public static void main(String[] args) throws Exception {20		WebDriver driver = new WebDriver();21		driver.launch("chrome");22		driver.close();23	}24}25import com.testsigma.automator.drivers.web.WebDriver;26public class 5 {27	public static void main(String[] args) throws Exception {28		WebDriver driver = new WebDriver();29		driver.launch("chromeWebDriver
Using AI Code Generation
1import com.testsigma.automator.drivers.web.WebDriver;2public class 2 {3    public static void main(String[] args) {4        WebDriver driver = new WebDriver();5        System.out.println(driver.getCurrentUrl());6        driver.quit();7    }8}WebDriver
Using AI Code Generation
1package com.testsigma.automator.examples;2import org.openqa.selenium.WebDriver;3import org.openqa.selenium.chrome.ChromeDriver;4import com.testsigma.automator.drivers.web.WebDriver;5public class GetCurrentURL {6public static void main(String[] args) {7System.setProperty("webdriver.chrome.driver", "C:\\Users\\user\\Downloads\\chromedriver_win32\\chromedriver.exe");8WebDriver driver = new ChromeDriver();9System.out.println("The current URL is: " + driver.getCurrentUrl());10driver.quit();11}12}13WebDriver get() method14WebDriver getCurrentUrl() method15WebDriver getTitle() method16WebDriver getPageSource() method17WebDriver close() method18WebDriver quit() method19WebDriver findElement() method20WebDriver findElements() method21WebDriver getAttribute() method22WebDriver getCssValue() method23WebDriver getText() method24WebDriver getTagName() method25WebDriver isEnabled() method26WebDriver isSelected() method27WebDriver isDisplayed() method28WebDriver getLocation() method29WebDriver getSize() method30WebDriver submit() method31WebDriver clear() method32WebDriver sendKeys() method33WebDriver click() method34WebDriver getScreenshotAs() method35WebDriver getWindowHandle() method36WebDriver getWindowHandles() method37WebDriver switchTo() method38WebDriver navigate() method39WebDriver manage() method40WebDriver executeScript() method41WebDriver executeAsyncScript() methodWebDriver
Using AI Code Generation
1package com.testsigma.automator.drivers.web;2import org.openqa.selenium.WebDriver;3public class WebDriver {4    WebDriver driver;5    public WebDriver(WebDriver driver) {6        this.driver = driver;7    }8    public String getCurrentUrl() {9        return driver.getCurrentUrl();10    }11}12package com.testsigma.automator.drivers.web;13public class WebDriver {14    public String getCurrentUrl() {15        return driver.getCurrentUrl();16    }17}18package com.testsigma.automator.drivers.web;19import org.openqa.selenium.WebDriver;20public class WebDriver {21    public String getCurrentUrl() {22        return driver.getCurrentUrl();23    }24}25package com.testsigma.automator.drivers.web;26import org.openqa.selenium.WebDriver;27public class WebDriver {28    WebDriver driver;29    public WebDriver(WebDriver driver) {30        this.driver = driver;31    }32    public String getCurrentUrl() {33        return driver.getCurrentUrl();34    }35}36package com.testsigma.automator.drivers.web;37import org.openqa.selenium.WebDriver;38public class WebDriver {39    WebDriver driver;40    public WebDriver(WebDriver driver) {41        this.driver = driver;42    }43    public String getCurrentUrl() {44        return driver.getCurrentUrl();45    }46}47package com.testsigma.automator.drivers.web;48import org.openqa.selenium.WebDriver;49public class WebDriver {50    WebDriver driver;51    public WebDriver(WebDriver driver) {52        this.driver = driver;53    }54    public String getCurrentUrl() {55        return driver.getCurrentUrl();56    }57}WebDriver
Using AI Code Generation
1package com.testsigma.automator.drivers.web;2import org.openqa.selenium.WebDriver;3public class WebDriver {4    public WebDriver(WebDriver driver) {5        this.driver = driver;6    }7    public String getCurrentUrl() {8        return driver.getCurrentUrl();9    }10}11package com.testsigma.automator.drivers.web;12import org.openqa.selenium.WebDriver;13public class WebDriver {14    public WebDriver(WebDriver driver) {15        this.driver = driver;16    }17    public String getCurrentUrl() {18        return driver.getCurrentUrl();19    }20}21package com.testsigma.automator.drivers.web;22import org.openqa.selenium.WebDriver;23public class WebDriver {24    public WebDriver(WebDriver driver) {25        this.driver = driver;26    }27    public String getCurrentUrl() {28        return driver.getCurrentUrl();29    }30}31package com.testsigma.automator.drivers.web;32import org.openqa.selenium.WebDriver;33public class WebDriver {34    public WebDriver(WebDriver driver) {35        this.driver = driver;36    }37    public String getCurrentUrl() {38        return driver.getCurrentUrl();39    }40}41package com.testsigma.automator.drivers.web;42import org.openqa.selenium.WebDriver;43public class WebDriver {44    public WebDriver(WebDriver driver) {45        this.driver = driver;46    }47    public String getCurrentUrl() {48        return driver.getCurrentUrl();49    }50}51package com.testsigma.automator.drivers.web;52import org.openqa.selenium.WebDriver;53public class WebDriver {54    public WebDriver(WebDriver driver) {55        this.driver = driver;56    }57    public String getCurrentUrl() {WebDriver
Using AI Code Generation
1package com.testsigma.automator.samples;2import org.openqa.selenium.By;3import org.openqa.selenium.WebDriver;4import org.openqa.selenium.WebElement;5import org.openqa.selenium.chrome.ChromeDriver;6import org.openqa.selenium.firefox.FirefoxDriver;7import org.openqa.selenium.ie.InternetExplorerDriver;8import org.openqa.selenium.remote.DesiredCapabilities;9import org.openqa.selenium.remote.RemoteWebDriver;10import org.testng.annotations.Test;11import com.testsigma.automator.drivers.web.WebDriver;12public class WebTest {13public void webTest() throws Exception {14WebDriver driver = new WebDriver();15WebElement element = driver.findElement(By.name("q"));16element.sendKeys("Selenium");17element.submit();18System.out.println("Page title is: " + driver.getTitle());19driver.quit();20}21}22package com.testsigma.automator.samples;23import org.openqa.selenium.By;24import org.openqa.selenium.WebDriver;25import org.openqa.selenium.WebElement;26import org.openqa.selenium.chrome.ChromeDriver;27import org.openqa.selenium.firefox.FirefoxDriver;28import org.openqa.selenium.ie.InternetExplorerDriver;29import org.openqa.selenium.remote.DesiredCapabilities;30import org.openqa.selenium.remote.RemoteWebDriver;31import org.testng.annotations.Test;32import com.testsigma.automator.drivers.web.WebDriver;33public class WebTest {34public void webTest() throws Exception {35WebDriver driver = new WebDriver();36WebElement element = driver.findElement(By.name("q"));37element.sendKeys("Selenium");38element.submit();39System.out.println("Page title is: " + driver.getTitle());40driver.quit();41}42}43package com.testsigma.automator.samples;44import org.openqa.selenium.By;45import org.openqa.selenium.WebDriver;46import org.openqa.selenium.WebElement;47import org.openqa.selenium.chrome.ChromeDriver;48import org.openqa.selenium.firefox.FirefoxDriver;49import org.openqa.selenium.ie.InternetExplorerDriver;50import org.openqa.selenium.remote.DesiredCapabilities;51import org.openqa.selenium.remote.RemoteWebDriver;52import org.testng.annotations.Test;53import com.testsigma.automator.drivers.web.WebDriver;WebDriver
Using AI Code Generation
1public class 2 {2public static void main(String[] args) {3WebDriver driver = new WebDriver();4System.out.println(driver.getCurrentUrl());5}6}7public String getPageSource()8public class 3 {9public static void main(String[] args) {10WebDriver driver = new WebDriver();11System.out.println(driver.getPageSource());12}13}14public String getTitle()15public class 4 {16public static void main(String[] args) {17WebDriver driver = new WebDriver();18System.out.println(driver.getTitle());19}20}21public String getWindowHandle()22public class 5 {23public static void main(String[] args) {24WebDriver driver = new WebDriver();25System.out.println(driver.getWindowHandle());26}27}WebDriver
Using AI Code Generation
1package com.testsigma.automator.drivers.web;2import org.openqa.selenium.WebDriver;3import org.openqa.selenium.chrome.ChromeDriver;4import org.openqa.selenium.firefox.FirefoxDriver;5public class WebDriver {6    public static void main(String[] args) {7        System.setProperty("webdriver.chrome.driver", "C:\\Users\\Selenium\\chromedriver_win32\\chromedriver.exe");8        WebDriver driver = new ChromeDriver();9        String title = driver.getTitle();10        System.out.println(title);11        String currentUrl = driver.getCurrentUrl();12        System.out.println(currentUrl);13        driver.close();14        driver.quit();15    }16}17package com.testsigma.automator.drivers.web;18import org.openqa.selenium.By;19import org.openqa.selenium.WebDriver;20import org.openqa.selenium.WebElement;21import org.openqa.selenium.chrome.ChromeDriver;22import org.openqa.selenium.firefox.FirefoxDriver;23public class WebElement {24    public static void main(String[] args) {25        System.setProperty("webdriver.chrome.driver", "C:\\Users\\Selenium\\chromedriver_win32\\chromedriver.exe");26        WebDriver driver = new ChromeDriver();Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
