Best Selenium code snippet using org.openqa.selenium.Enum Architecture.valueOf
Source:ZkDriver.java  
...146        },147        FULL_TEST( "fullTest", "zk.webdriver.fullTest", "false" ) {148            @Override149            public void set( final ZkDriver driver, final Map<Property, String> properties ) {150                driver.fullTest = Boolean.valueOf( properties.get( Property.FULL_TEST ) );151            }152        },153        SCREENSHOT_DIR( "screenshotDir", "zk.webdriver.screenshotDir", "." ) {154            @Override155            public void set( final ZkDriver driver, final Map<Property, String> properties ) {156                driver.screenshotDir = properties.get( Property.SCREENSHOT_DIR );157            }158        },159        SCREENSHOT_URL( "screenshotUrl", "zk.webdriver.screenshotUrl", "" ) {160            @Override161            public void set( final ZkDriver driver, final Map<Property, String> properties ) {162                driver.screenshotUrl = properties.get( Property.SCREENSHOT_URL );163            }164        },165        SCREEN_ON_ERROR( "screenOnError", "zk.webdriver.screenOnError", "false" ) {166            @Override167            public void set( final ZkDriver driver, final Map<Property, String> properties ) {168                driver.screenOnError = Boolean.valueOf( properties.get( Property.SCREEN_ON_ERROR ) );169            }170        };171        /** key in property file */172        protected final String propertyKey;173        /** key in environment */174        protected final String envKey;175        /** default value */176        protected final String defaultValue;177        private Property( final String propertyKey, final String envKey, final String defaultValue ) {178            this.propertyKey = propertyKey;179            this.envKey = envKey;180            this.defaultValue = defaultValue;181        }182        public String getDefaultValue() {...Source:BrowserFactory.java  
...39        return getDriver(AppConfig.getDevice(), BrowserConfig.getBrowser(), true);40    }41    public WebDriver getDriver(String device, String browser,42                               boolean javascriptEnabled) {43        DeviceType deviceType = DeviceType.valueOf(device.toUpperCase());44        BrowserEnum browserEnum = BrowserEnum.valueOf(browser.toUpperCase());45        switch (deviceType) {46            case DESKTOP:47                switch (browserEnum) {48                    case CHROME:49                        WebDriverManager.chromedriver().clearPreferences();50                        WebDriverManager.chromedriver().setup();51                        driver = getChromeDriver(null, javascriptEnabled);52                        break;53                    case FIREFOX:54                        driver = getFirefoxDriver(null, javascriptEnabled);55                        break;56                    case SAFARI:57                        driver = getSafariDriver(null, javascriptEnabled);58                        break;...Source:WDriverFactory.java  
...21import java.util.concurrent.TimeUnit;22final class WDriverFactory {23    private static final String browser = Props.getProperty("browser", "chrome").toLowerCase();24    private static final String target = Props.getProperty("target", "local").toLowerCase();25    private static final boolean headless = Boolean.valueOf(Props.getProperty("headless", "false").toLowerCase());26    private static final boolean incognito = Boolean.valueOf(Props.getProperty("incognito", "false").toLowerCase());27    private static final String hubUrl = Props.getProperty("selenium.hub.url");28    private WDriverFactory() {29    }30    static DriverService createAndStartDriverService() {31        Log.systemLogger.info(Log.formatLogMessage("Resolving WebDriver and setting local WebDriver path according to browser and OS"));32        Drivers.valueOf(browser.toUpperCase()).resolveWebDriver();33        Log.systemLogger.info(Log.formatLogMessage("Creating driver service instance according to browser"));34        DriverService driverService = Drivers.valueOf(browser.toUpperCase()).newDriverService();35        try {36            Log.systemLogger.info(Log.formatLogMessage("Starting driver service instance"));37            driverService.start();38        } catch (IOException e) {39            throw new RuntimeException(e);40        }41        return driverService;42    }43    static WebDriver createDriver(DriverService driverService) {44        return createDriver(driverService, headless, incognito);45    }46    static WebDriver createDriver(DriverService driverService, boolean headless, boolean incognito) {47        WebDriver driver;48        URL url;49        Log.systemLogger.info(Log.formatLogMessage("Setting capabilities according to browser"));50        MutableCapabilities capabilities = Drivers.valueOf(browser.toUpperCase()).newCapabilities(headless, incognito);51        switch (target) {52            case "grid":53                try {54                    url = new URL(hubUrl);55                } catch (MalformedURLException e) {56                    throw new RuntimeException(e);57                }58                break;59            case "local":60            default:61                url = (driverService == null) ? null : driverService.getUrl();62        }63        if (url != null) {64            Log.systemLogger.info(Log.formatLogMessage("Creating RemoteWebDriver instance using capabilities and URL"));65            driver = new RemoteWebDriver(url, capabilities);66        } else {67            Log.systemLogger.info(Log.formatLogMessage("Creating WebDriver instance using capabilities"));68            driver = Drivers.valueOf(browser.toUpperCase()).newDriver(capabilities);69        }70        Log.systemLogger.info(Log.formatLogMessage("Configuring browser", driver));71        driver.manage().timeouts().pageLoadTimeout(Wait.PAGE_LOAD_TIMEOUT_S, TimeUnit.SECONDS);72        driver.manage().timeouts().setScriptTimeout(Wait.SCRIPT_TIMEOUT_S, TimeUnit.SECONDS);73        driver.manage().timeouts().implicitlyWait(Wait.IMPLICIT_WAIT_TIMEOUT_S, TimeUnit.SECONDS);74        driver.manage().window().maximize();75        // Getting info76        String osName = System.getProperty("os.name");77        String osArch = System.getProperty("os.arch");78        String osVersion = System.getProperty("os.version");79        String javaVersion = System.getProperty("java.version");80        String env = System.getProperty("env");81        String browserName = ((HasCapabilities) driver).getCapabilities().getBrowserName();82        String browserVersion = ((HasCapabilities) driver).getCapabilities().getVersion();...Source:DriverFactory.java  
...29  public DriverService createAndStartDriverService(30      DriverParams driverParams) {31    Log.logger.info(Log.formatLogMessage(32        "Resolving and setting local WebDriver path according to browser and OS"));33    Drivers.valueOf(driverParams.browser.toUpperCase()).resolveLocalWebDriverPath();34    Log.logger.info(Log.formatLogMessage("Creating driver service instance according to browser"));35    DriverService driverService = Drivers.valueOf(driverParams.browser.toUpperCase()).newDriverService();36    try {37      Log.logger.info(Log.formatLogMessage("Starting driver service instance"));38      driverService.start();39    } catch (IOException e) {40      throw new RuntimeException(e);41    }42    return driverService;43  }44  public WebDriver createDriver(DriverService driverService, DriverParams driverParams) {45    WebDriver driver;46    Log.logger.info(Log.formatLogMessage(47        "Setting capabilities according to browser"));48    MutableCapabilities capabilities =49        Drivers.valueOf(driverParams.browser.toUpperCase()).newCapabilities(driverParams);50    URL url = (driverService == null) ? null : driverService.getUrl();51    if (url != null) {52      Log.logger.info(Log.formatLogMessage(53          "Creating RemoteWebDriver instance using capabilities and URL"));54      driver = new RemoteWebDriver(url, capabilities);55    } else {56      Log.logger.info(Log.formatLogMessage(57          "Creating local WebDriver instance using capabilities"));58      driver = Drivers.valueOf(driverParams.browser.toUpperCase()).newDriver(capabilities);59    }60    Log.logger.info(Log.formatLogMessage("Configuring browser", driver));61    driver.manage().timeouts().pageLoadTimeout(waitParams.pageLoadTimeoutSec, TimeUnit.SECONDS);62    driver.manage().timeouts().implicitlyWait(waitParams.implicitWaitTimeoutSec, TimeUnit.SECONDS);63    if (driverParams.maximize) {64      driver.manage().window().maximize();65    }66    setEnvInfo(driver, driverParams);67    Log.logger.info(Log.formatLogMessage(68        "Browser is started in thread '{}' with id  in JVM '{}'", driver),69        getThreadName(), getThreadId(), getProcessName());70    return driver;71  }72  public String getEnvironmentInfo() {...Source:DriverType.java  
...81            return new PhantomJSDriver(capabilities);82        }83    };84    public static final DriverType defaultDriverType = FIREFOX;85    public static final boolean useRemoteWebDriver = Boolean.valueOf(System.getProperty("remoteDriver"));86    private static final OperatingSystem operatingSystem = getOperatingSystem();87    private static final SystemArchitecture systemArchitecture = getSystemArchitecture();88    public String getWebDriverSystemPropertyKey() {89        return null;90    }91    public WebDriver instantiateWebDriver() throws MalformedURLException {92        DesiredCapabilities desiredCapabilities = getDesiredCapabilities();93        if (useRemoteWebDriver) {94            URL seleniumGridURL = new URL(System.getProperty("gridURL"));95            String desiredBrowserVersion = System.getProperty("desiredBrowserVersion");96            String desiredPlatform = System.getProperty("desiredPlatform");97            if (null != desiredPlatform && !desiredPlatform.isEmpty()) {98                desiredCapabilities.setPlatform(Platform.valueOf(desiredPlatform.toUpperCase()));99            }100            if (null != desiredBrowserVersion && !desiredBrowserVersion.isEmpty()) {101                desiredCapabilities.setVersion(desiredBrowserVersion);102            }103            return new RemoteWebDriver(seleniumGridURL, desiredCapabilities);104        }105        return getWebDriverObject(desiredCapabilities);106    }107    public static DriverType determineEffectiveDriverType(String browser) {108        DriverType driverType = defaultDriverType;109        try {110            driverType = valueOf(browser.toUpperCase());111        } catch (IllegalArgumentException ignored) {112            System.err.println("Unknown driver specified, defaulting to '" + driverType + "'...");113        } catch (NullPointerException ignored) {114            System.err.println("No driver specified, defaulting to '" + driverType + "'...");115        }116        return driverType;117    }118    public WebDriver configureDriverBinaryAndInstantiateWebDriver() {119        System.out.println("Current Operating System: " + operatingSystem.getOperatingSystemType());120        System.out.println("Current Architecture: " + systemArchitecture.getSystemArchitectureType());121        System.out.println("Current Browser Selection: " + this);122        configureBinary(this, operatingSystem, systemArchitecture);123        try {124            return instantiateWebDriver();...Source:Hooks.java  
...53////	public static Environment determineEnvironment() {54////		Environment envType = defaultEnvType;55////56////		try {57////			envType = Environment.valueOf(env);58////		} catch (IllegalArgumentException ignored) {59////			System.err.println("Unknown env specified,defaulting to '"60////					+ envType + "'...");61////		} catch (NullPointerException ignored) {62////			System.err.println("No env specified, defaulting to '" + envType63////					+ "'...");64////		}65////		return envType;66////67////	}68//69////	private static DriverType determineEffectiveDriverType() {70////		DriverType driverType = defaultDriverType;71////72////		try {73////			driverType = valueOf(browser);74////		} catch (IllegalArgumentException ignored) {75////			System.err.println("Unknown driver specified,defaulting to '"76////					+ driverType + "'...");77////		} catch (NullPointerException ignored) {78////			System.err.println("No driver specified, defaulting to '"79////					+ driverType + "'...");80////		}81////		return driverType;82////	}83//	84//	85//86//	/**87//	 * Calls the function at start of the initiation.
...Source:DriverSettings.java  
...69        }70    }71    @Override72    public String getWebDriverVersion() {73        return String.valueOf(getSettingsFile().getValueOrDefault(74                getDriverSettingsPath("webDriverVersion"), "Latest"));75    }76    @Override77    public Architecture getSystemArchitecture() {78        String strValue = String.valueOf(getSettingsFile().getValueOrDefault(79                getDriverSettingsPath("systemArchitecture"), "Auto"));80        return Arrays.stream(Architecture.values())81                .filter(value -> value.name().equals(strValue))82                .findFirst()83                .orElse(Architecture.X32);84    }85    @Override86    public PageLoadStrategy getPageLoadStrategy() {87        String value = (String) getSettingsFile().getValueOrDefault(getDriverSettingsPath("pageLoadStrategy"), "normal");88        return PageLoadStrategy.fromString(value.toLowerCase());89    }90    private String getDriverSettingsPath(final CapabilityType capabilityType) {91        return getDriverSettingsPath(capabilityType.getKey());92    }93    String getDriverSettingsPath(final String... paths) {94        String pathToDriverSettings = String.format("/driverSettings/%1$s", getBrowserName().toString().toLowerCase());95        return pathToDriverSettings.concat(Arrays.stream(paths).map("/"::concat).collect(Collectors.joining()));96    }97    void setCapabilities(MutableCapabilities options) {98        getBrowserCapabilities().forEach(options::setCapability);99    }100    @Override101    public String getDownloadDir() {102        Map<String, Object> browserOptions = getBrowserOptions();103        String key = getDownloadDirCapabilityKey();104        if (browserOptions.containsKey(key)) {105            String pathInConfiguration = String.valueOf(browserOptions.get(key));106            return pathInConfiguration.contains(".") ? getAbsolutePath(pathInConfiguration) : pathInConfiguration;107        }108        throw new IllegalArgumentException(String.format("failed to find %s profiles option for %s", key, getBrowserName()));109    }110    private enum CapabilityType {111        CAPABILITIES("capabilities"), OPTIONS("options"), START_ARGS("startArguments");112        private String key;113        CapabilityType(String key) {114            this.key = key;115        }116        public String getKey() {117            return key;118        }119    }...Source:DriverSelector.java  
...7import java.net.MalformedURLException;8import java.net.URL;9import static org.openqa.selenium.Proxy.ProxyType.MANUAL;10import static selenium.config.DriverEnum.CHROME;11import static selenium.config.DriverEnum.valueOf;12public class DriverSelector {13    private WebDriver webdriver;14    private DriverEnum selectedDriverType;15    private final DriverEnum defaultDriverType = CHROME;16    private final String browser = System.getProperty("browser", defaultDriverType.toString()).toUpperCase();17    private final String operatingSystem = System.getProperty("os.name").toUpperCase();18    private final String systemArchitecture = System.getProperty("os.arch");19    private final boolean useRemoteWebDriver = Boolean.getBoolean("remoteDriver");20    private final boolean proxyEnabled = Boolean.getBoolean("proxyEnabled");21    private final String proxyHostname = System.getProperty("proxyHost");22    private final Integer proxyPort = Integer.getInteger("proxyPort");23    private final String proxyDetails = String.format("%s:%d", proxyHostname, proxyPort);24    public WebDriver getDriver() throws Exception {25        if (null == webdriver) {26            Proxy proxy = null;27            if (proxyEnabled) {28                proxy = new Proxy();29                proxy.setProxyType(MANUAL);30                proxy.setHttpProxy(proxyDetails);31                proxy.setSslProxy(proxyDetails);32            }33            determineEffectiveDriverType();34            DesiredCapabilities desiredCapabilities = selectedDriverType.getDesiredCapabilities(proxy);35            instantiateWebDriver(desiredCapabilities);36        }37        return webdriver;38    }39    public void quitDriver() {40        if (null != webdriver) {41            webdriver.quit();42        }43    }44    private void determineEffectiveDriverType() {45        DriverEnum driverType = defaultDriverType;46        try {47            driverType = valueOf(browser);48        } catch (IllegalArgumentException ignored) {49            System.err.println("Unknown driver specified, defaulting to '" + driverType + "'...");50        } catch (NullPointerException ignored) {51            System.err.println("No driver specified, defaulting to '" + driverType + "'...");52        }53        selectedDriverType = driverType;54    }55    private void instantiateWebDriver(DesiredCapabilities desiredCapabilities) throws MalformedURLException {56        System.out.println(" ");57        System.out.println("Current Operating System: " + operatingSystem);58        System.out.println("Current Architecture: " + systemArchitecture);59        System.out.println("Current Browser Selection: " + selectedDriverType);60        System.out.println(" ");61        if (useRemoteWebDriver) {62            URL seleniumGridURL = new URL(System.getProperty("gridURL"));63            String desiredBrowserVersion = System.getProperty("desiredBrowserVersion");64            String desiredPlatform = System.getProperty("desiredPlatform");65            if (null != desiredPlatform && !desiredPlatform.isEmpty()) {66                desiredCapabilities.setPlatform(Platform.valueOf(desiredPlatform.toUpperCase()));67            }68            if (null != desiredBrowserVersion && !desiredBrowserVersion.isEmpty()) {69                desiredCapabilities.setVersion(desiredBrowserVersion);70            }71            webdriver = new RemoteWebDriver(seleniumGridURL, desiredCapabilities);72        } else {73            webdriver = selectedDriverType.getWebDriverObject(desiredCapabilities);74        }75    }76}...valueOf
Using AI Code Generation
1package com.selenium4beginners.java.enums;2import org.openqa.selenium.Dimension;3import org.openqa.selenium.Point;4public class EnumArchitecture {5	public static void main (String[] args) {6		Dimension d = new Dimension(800, 600);7		Point p = new Point(100, 200);8		System.out.println("d = " + d);9		System.out.println("p = " + p);10		System.out.println("d = " + d.valueOf(d));11		System.out.println("p = " + p.valueOf(p));12	}13}14d = (800,600)15p = (100,200)16d = (800,600)17p = (100,200)valueOf
Using AI Code Generation
1public enum BrowserType {  2CHROME, FIREFOX, IE, SAFARI;  3}4public class BrowserFactory {  5public static WebDriver getBrowser(BrowserType browserType) {  6WebDriver driver = null;  7switch (browserType) {  8System.setProperty(“webdriver.chrome.driver”, “C:\\Users\\Selenium\\chromedriver.exe”);  9driver = new ChromeDriver();  10break;  11System.setProperty(“webdriver.gecko.driver”, “C:\\Users\\Selenium\\geckodriver.exe”);  12driver = new FirefoxDriver();  13break;  14System.setProperty(“webdriver.ie.driver”, “C:\\Users\\Selenium\\IEDriverServer.exe”);  15driver = new InternetExplorerDriver();  16break;  17System.setProperty(“webdriver.safari.driver”, “C:\\Users\\Selenium\\SafariDriver.exe”);  18driver = new SafariDriver();  19break;  20}  21return driver;  22}  23}24public class EnumExample {  25public static void main(String[] args) {  26WebDriver driver = BrowserFactory.getBrowser(BrowserType.valueOf(“CHROME”));  27driver.quit();  28}  29}valueOf
Using AI Code Generation
1public void test() throws Exception {2    String enumValue = "test";3    String enumName = "test";4    String enumClass = "org.openqa.selenium.By";5    Class<?> clazz = Class.forName(enumClass);6    Method valueOfMethod = clazz.getMethod("valueOf", String.class);7    Object enumInstance = valueOfMethod.invoke(null, enumValue);8    Field nameField = clazz.getField("name");9    String name = (String)nameField.get(enumInstance);10    assertEquals(enumName, name);11}12public void test() throws Exception {13    String enumValue = "test";14    String enumName = "test";15    String enumClass = "org.openqa.selenium.By";16    Class<?> clazz = Class.forName(enumClass);17    Method valueOfMethod = clazz.getMethod("valueOf", String.class);18    Object enumInstance = valueOfMethod.invoke(null, enumValue);19    Field nameField = clazz.getField("name");20    String name = (String)nameField.get(enumInstance);21    assertEquals(enumName, name);22}23public void test() throws Exception {24    String enumValue = "test";25    String enumName = "test";26    String enumClass = "org.openqa.selenium.By";27    Class<?> clazz = Class.forName(enumClass);28    Method valueOfMethod = clazz.getMethod("valueOf", String.class);29    Object enumInstance = valueOfMethod.invoke(null, enumValue);30    Field nameField = clazz.getField("name");31    String name = (String)nameField.get(enumInstance);32    assertEquals(enumName, name);33}34public void test() throws Exception {35    String enumValue = "test";36    String enumName = "test";37    String enumClass = "org.openqa.selenium.By";38    Class<?> clazz = Class.forName(enumClass);39    Method valueOfMethod = clazz.getMethod("valueOf", String.class);40    Object enumInstance = valueOfMethod.invoke(null, enumValue);41    Field nameField = clazz.getField("name");42    String name = (String)nameField.get(enumInstance);43    assertEquals(enumName, name);44}45public void test() throws Exception {46    String enumValue = "test";47    String enumName = "test";valueOf
Using AI Code Generation
1Platform platform = Platform.valueOf("WINDOWS");2Platform platform = Platform.fromString("WINDOWS");3Platform platform = Platform.valueOf("WINDOWS");4Platform platform = Platform.fromString("WINDOWS");5Platform platform = Platform.valueOf("WINDOWS");6Platform platform = Platform.fromString("WINDOWS");7Platform platform = Platform.valueOf("WINDOWS");8Platform platform = Platform.fromString("WINDOWS");9Platform platform = Platform.valueOf("WINDOWS");10Platform platform = Platform.fromString("WINDOWS");11Platform platform = Platform.valueOf("WINDOWS");LambdaTest’s Selenium 4 tutorial is covering every aspects of Selenium 4 testing with examples and best practices. Here you will learn basics, such as how to upgrade from Selenium 3 to Selenium 4, to some advanced concepts, such as Relative locators and Selenium Grid 4 for Distributed testing. Also will learn new features of Selenium 4, such as capturing screenshots of specific elements, opening a new tab or window on the browser, and new protocol adoptions.
Upgrading From Selenium 3 To Selenium 4?: In this chapter, learn in detail how to update Selenium 3 to Selenium 4 for Java binding. Also, learn how to upgrade while using different build tools such as Maven or Gradle and get comprehensive guidance for upgrading Selenium.
What’s New In Selenium 4 & What’s Being Deprecated? : Get all information about new implementations in Selenium 4, such as W3S protocol adaption, Optimized Selenium Grid, and Enhanced Selenium IDE. Also, learn what is deprecated for Selenium 4, such as DesiredCapabilites and FindsBy methods, etc.
Selenium 4 With Python: Selenium supports all major languages, such as Python, C#, Ruby, and JavaScript. In this chapter, learn how to install Selenium 4 for Python and the features of Python in Selenium 4, such as Relative locators, Browser manipulation, and Chrom DevTool protocol.
Selenium 4 Is Now W3C Compliant: JSON Wireframe protocol is retiring from Selenium 4, and they are adopting W3C protocol to learn in detail about the advantages and impact of these changes.
How To Use Selenium 4 Relative Locator? : Selenium 4 came with new features such as Relative Locators that allow constructing locators with reference and easily located constructors nearby. Get to know its different use cases with examples.
Selenium Grid 4 Tutorial For Distributed Testing: Selenium Grid 4 allows you to perform tests over different browsers, OS, and device combinations. It also enables parallel execution browser testing, reads up on various features of Selenium Grid 4 and how to download it, and runs a test on Selenium Grid 4 with best practices.
Selenium Video Tutorials: Binge on video tutorials on Selenium by industry experts to get step-by-step direction from automating basic to complex test scenarios with Selenium.
LambdaTest also provides certification for Selenium testing to accelerate your career in Selenium automation testing.
Get 100 minutes of automation test minutes FREE!!
