Example usage for org.openqa.selenium.remote CapabilityType BROWSER_NAME

List of usage examples for org.openqa.selenium.remote CapabilityType BROWSER_NAME

Introduction

In this page you can find the example usage for org.openqa.selenium.remote CapabilityType BROWSER_NAME.

Prototype

String BROWSER_NAME

To view the source code for org.openqa.selenium.remote CapabilityType BROWSER_NAME.

Click Source Link

Usage

From source file:org.safs.selenium.webdriver.lib.SelectBrowser.java

License:Open Source License

/**
 * //from  ww w  .  j a va  2s  . c o m
 * @param browserName String, the browser name, such as "explorer"
 * @param extraParameters Map<String,Object>, can be used to pass more browser parameters, such as proxy settings.
 * @return DesiredCapabilities
 */
public static DesiredCapabilities getDesiredCapabilities(String browserName,
        Map<String, Object> extraParameters) {
    String debugmsg = StringUtils.debugmsg(false);
    DesiredCapabilities caps = null;

    if (browserName.equals(BROWSER_NAME_IE)) {
        System.setProperty(SYSTEM_PROPERTY_WEBDRIVER_IE, "IEDriverServer.exe");
        caps = DesiredCapabilities.internetExplorer();
        caps.setCapability("nativeEvents", true);
        caps.setCapability("requireWindowFocus", true);
        //caps.setCapability("browserName", BROWSER_NAME_IE);
    } else if (browserName.equals(BROWSER_NAME_CHROME)) {
        System.setProperty(SYSTEM_PROPERTY_WEBDRIVER_CHROME, "chromedriver.exe");
        caps = DesiredCapabilities.chrome();

        // Disable extensions to avoid popping up 'Disable developer mode extensions' message by default.
        if (!extraParameters.containsKey(KEY_CHROME_DISABLE_EXTENSIONS)) {
            // Only execute if no user's setting
            extraParameters.put(KEY_CHROME_DISABLE_EXTENSIONS, "true");
        }

        //caps.setCapability("browserName", BROWSER_NAME_CHROME);
    } else if (browserName.equals(BROWSER_NAME_EDGE)) {
        System.setProperty(SYSTEM_PROPERTY_WEBDRIVER_EDGE, "MicrosoftWebDriver.exe");
        caps = DesiredCapabilities.edge();
        //caps.setCapability("browserName", BROWSER_NAME_EDGE);
    } else if (browserName.equals(BROWSER_NAME_ANDROID_CHROME)) {
        System.setProperty(SYSTEM_PROPERTY_WEBDRIVER_CHROME, "chromedriver.exe");
        caps = DesiredCapabilities.chrome();
        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.setExperimentalOption("androidPackage", "com.android.chrome");
        caps.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
        caps.setCapability(CapabilityType.BROWSER_NAME, BROWSER_NAME_CHROME);
    } else if (browserName.equals(BROWSER_NAME_IPAD_SIMULATOR_SAFARI)) {
        caps = new DesiredCapabilities();
        caps.setCapability("device", "ipad");
        caps.setCapability("simulator", "true");
        caps.setCapability(CapabilityType.BROWSER_NAME, "safari");
    } else { // default browser always
        caps = DesiredCapabilities.firefox();
        caps.setCapability(CapabilityType.BROWSER_NAME, BROWSER_NAME_FIREFOX);
    }

    String unexpectedAlertBehaviour = Processor.getUnexpectedAlertBehaviour();
    if (unexpectedAlertBehaviour == null)
        unexpectedAlertBehaviour = System
                .getProperty(DriverConstant.PROERTY_SAFS_TEST_UNEXPECTEDALERTBEHAVIOUR);
    if (unexpectedAlertBehaviour != null) {
        IndependantLog.debug(debugmsg + " Set '" + unexpectedAlertBehaviour + "' to '"
                + CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR + "'.");
        caps.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, unexpectedAlertBehaviour);
    }

    if (extraParameters != null && !extraParameters.isEmpty()) {
        //1. Add http proxy settings to Capabilities, if they exist 
        Object proxysetting = extraParameters.get(KEY_PROXY_SETTING);
        if (proxysetting != null && proxysetting instanceof String) {
            org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
            proxy.setHttpProxy(proxysetting.toString());

            Object bypass = extraParameters.get(KEY_PROXY_BYPASS_ADDRESS);
            if (bypass != null && bypass instanceof String) {
                proxy.setNoProxy(bypass.toString());
            }

            caps.setCapability(CapabilityType.PROXY, proxy);
        }

        //2 Add firefox profile setting to Capabilities.
        if (BROWSER_NAME_FIREFOX.equals(browserName)) {
            //2.1 Add firefox profile setting to Capabilities, if it exists
            FirefoxProfile firefoxProfile = null;
            Object firefoxProfileParam = extraParameters.get(KEY_FIREFOX_PROFILE);
            if (firefoxProfileParam != null && firefoxProfileParam instanceof String) {
                //Can be profile's name or profile's file name
                String profileNameOrPath = firefoxProfileParam.toString();
                IndependantLog.debug(
                        debugmsg + "Try to Set firefox profile '" + profileNameOrPath + "' to Capabilities.");

                firefoxProfile = getFirefoxProfile(profileNameOrPath);

                if (firefoxProfile != null) {
                    caps.setCapability(KEY_FIREFOX_PROFILE, profileNameOrPath);//used to store in session file
                } else {
                    IndependantLog.error(debugmsg + " Fail to set firefox profile to Capabilities.");
                }
            }
            //2.2 Add firefox profile preferences to Capabilities, if it exists
            Object prefsFileParam = extraParameters.get(KEY_FIREFOX_PROFILE_PREFERENCE);
            if (prefsFileParam != null && prefsFileParam instanceof String) {
                String preferenceFile = prefsFileParam.toString();
                IndependantLog.debug(debugmsg + "Try to Set firefox preference file '" + preferenceFile
                        + "' to Firefox Profile.");
                caps.setCapability(KEY_FIREFOX_PROFILE_PREFERENCE, preferenceFile);//used to store in session file

                Map<?, ?> firefoxPreference = Json.readJSONFileUTF8(preferenceFile);
                if (firefoxProfile == null)
                    firefoxProfile = new FirefoxProfile();
                addFireFoxPreference(firefoxProfile, firefoxPreference);
            }

            if (firefoxProfile != null) {
                caps.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
            }
        }

        //3. Add chrome-options-settings to Capabilities.
        if (BROWSER_NAME_CHROME.equals(browserName) || BROWSER_NAME_ANDROID_CHROME.equals(browserName)) {
            setChromeCapabilities(caps, extraParameters);
        }

        //put extra grid-nodes information
        Object gridnodes = extraParameters.get(KEY_GRID_NODES_SETTING);
        if (gridnodes != null && gridnodes instanceof String) {
            caps.setCapability(KEY_GRID_NODES_SETTING, gridnodes);
        }
    }

    return caps;
}

From source file:pt.fccn.saw.selenium.WebDriverTestBaseParalell.java

License:Open Source License

/**
 * Constructs a new {@link RemoteWebDriver} instance which is configured to use the capabilities defined by the {@link #browser},
 * {@link #version} and {@link #os} instance variables, and which is configured to run against ondemand.saucelabs.com, using
 * the username and access key populated by the {@link #authentication} instance.
 *
 * @throws Exception if an error occurs during the creation of the {@link RemoteWebDriver} instance.
 *///from   w ww .  jav a 2 s. c  o  m
@Before
public void setUp() throws Exception {
    DesiredCapabilities capabilities = new DesiredCapabilities();

    if (browser != null)
        capabilities.setCapability(CapabilityType.BROWSER_NAME, browser);
    if (version != null)
        capabilities.setCapability(CapabilityType.VERSION, version);
    if (deviceName != null)
        capabilities.setCapability("deviceName", deviceName);
    if (deviceOrientation != null)
        capabilities.setCapability("device-orientation", deviceOrientation);

    //        capabilities.setCapability(CapabilityType.PLATFORM, os);
    capabilities.setCapability(CapabilityType.PLATFORM, "ANY");

    String methodName = name.getMethodName() + " " + browser + " " + version;
    capabilities.setCapability("name", methodName);

    System.out.println("Screen Resolution: " + screenResolution);
    if (!screenResolution.equals("no")) {
        capabilities.setCapability("screenResolution", screenResolution);
    }
    //Getting the build name.
    //Using the Jenkins ENV var. You can use your own. If it is not set test will run without a build id.
    /*if (buildTag != null) {
    capabilities.setCapability("build", buildTag);
    }*/
    capabilities.setCapability("build", System.getenv("JOB_NAME") + "__" + System.getenv("BUILD_NUMBER"));

    SauceHelpers.addSauceConnectTunnelId(capabilities);

    URL url = new URL("http://" + authentication.getUsername() + ":" + authentication.getAccessKey()
            + /*seleniumURI*/ "@127.0.0.1:" + port + "/wd/hub");
    System.out.println(url);

    this.driver = new RemoteWebDriver(url, capabilities);
    this.driver.get(testURL);

    this.sessionId = (((RemoteWebDriver) driver).getSessionId()).toString();

    String message = String.format("SauceOnDemandSessionID=%1$s job-name=%2$s", this.sessionId, methodName);
    System.out.println(message);

    Timeouts timeouts = driver.manage().timeouts();
    // it isn't working on latest firefox
    //      timeouts.pageLoadTimeout(25, TimeUnit.SECONDS);
    timeouts.implicitlyWait(5, TimeUnit.SECONDS);
    timeouts.setScriptTimeout(5, TimeUnit.SECONDS);
}

From source file:REXSH.REXAUTO.AppTestEditProfileLicense_old.java

@BeforeClass(alwaysRun = true)
public void setUp() throws Exception {
    File app = null;//from  w  ww  . j a  va2 s. c om
    if (!autoOSType.toLowerCase().contains("windows")) {
        app = new File(("\\Users\\appledev131\\Downloads").replaceAll("\\\\", File.separator), "app-debug.apk");
    } else {
        app = new File("C:\\Paul", "app-debug.apk");
    }
    System.out.println("System.getPre + user.dir : " + System.getProperty("user.dir"));

    capabilities.setCapability("deviceName", "Android Emulator");

    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    capabilities.setCapability(CapabilityType.VERSION, "5.1");
    capabilities.setCapability("app", app.getAbsolutePath());
    capabilities.setCapability("app-package", "com.pwc.talentexchange");
    capabilities.setCapability("app-activity", ".activity.BaseActivity");
    capabilities.setCapability("unicodeKeyboard", "True");
    capabilities.setCapability("resetKeyboard", "True");
    capabilities.setCapability("platform", "22");

    driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    pfile.mkdir();

}

From source file:REXSH.REXAUTO.AppTestEditProfileLicense_old.java

public void recover() throws Exception {
    driver.closeApp();//ww w .  ja v  a  2 s .  c o  m
    driver.quit();
    Thread.sleep(5000);
    File app = null;
    if (!autoOSType.toLowerCase().contains("windows")) {
        app = new File(("\\Users\\appledev131\\Downloads").replaceAll("\\\\", File.separator), "app-debug.apk");
    } else {
        app = new File("C:\\Paul", "app-debug.apk");
    }
    System.out.println("System.getPre + user.dir : " + System.getProperty("user.dir"));
    capabilities.setCapability("deviceName", "Android Emulator");
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    capabilities.setCapability(CapabilityType.VERSION, "5.1");
    capabilities.setCapability("app", app.getAbsolutePath());
    capabilities.setCapability("app-package", "com.pwc.talentexchange");
    capabilities.setCapability("app-activity", ".activity.BaseActivity");
    capabilities.setCapability("unicodeKeyboard", "True");
    capabilities.setCapability("resetKeyboard", "True");
    capabilities.setCapability("platform", "22");
    driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

From source file:REXSH.REXAUTO.APPunderTest.AppPage.AND.bANDPageProfileEditCertifiANDlicense.java

public static void main(String args[]) {
    AndroidDriver driver = null;//  w  ww. j  a  va2 s.com

    try {
        File app = new File("/Users/appledev131/Downloads", "app-debug.apk");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "Android Emulator");
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
        capabilities.setCapability(CapabilityType.VERSION, "5.1");
        capabilities.setCapability("app", app.getAbsolutePath());
        capabilities.setCapability("app-package", "com.pwc.talentexchange");
        capabilities.setCapability("app-activity", ".activity.BaseActivity");
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        Thread.sleep(6000);

        bANDPageProfileEditCertifiANDlicense x = new bANDPageProfileEditCertifiANDlicense(
                "/PageXML/AND/bProfileEditSkills.xml", driver, null);
        System.out.println("before default operation");

    } catch (Exception e) {
        e.printStackTrace();
    } finally {

    }
}

From source file:REXSH.REXAUTO.APPunderTest.AppPage.IOS.IOSPageProfileEditCertifiANDlicense.java

public static void main(String args[]) {
    IOSDriver driver = null;/*from ww w.ja v a 2  s .c  o  m*/

    try {
        File app = new File("/Users/appledev131/Downloads", "app-debug.apk");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "Android Emulator");
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
        capabilities.setCapability(CapabilityType.VERSION, "5.1");
        capabilities.setCapability("app", app.getAbsolutePath());
        capabilities.setCapability("app-package", "com.pwc.talentexchange");
        capabilities.setCapability("app-activity", ".activity.BaseActivity");
        driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        Thread.sleep(6000);

        IOSPageProfileEditCertifiANDlicense x = new IOSPageProfileEditCertifiANDlicense(
                "/PageXML/AND/loginPage.xml", driver, null);
        System.out.println("before defaulf operation");

    } catch (Exception e) {
        e.printStackTrace();
    } finally {

    }
}

From source file:REXSH.REXAUTO.APPunderTest.AppPage.iPAD.IPADPageProfileEditCertifiANDlicense.java

public static void main(String args[]) {
    IOSDriver driver = null;/*from   www  . j  ava 2  s .  c om*/

    try {
        File app = new File("/Users/appledev131/Downloads", "app-debug.apk");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "Android Emulator");
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
        capabilities.setCapability(CapabilityType.VERSION, "5.1");
        capabilities.setCapability("app", app.getAbsolutePath());
        capabilities.setCapability("app-package", "com.pwc.talentexchange");
        capabilities.setCapability("app-activity", ".activity.BaseActivity");
        driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        Thread.sleep(6000);

        IPADPageProfileEditCertifiANDlicense x = new IPADPageProfileEditCertifiANDlicense(
                "/PageXML/AND/loginPage.xml", driver, null);
        System.out.println("before defaulf operation");

    } catch (Exception e) {
        e.printStackTrace();
    } finally {

    }
}

From source file:REXSH.REXAUTO.IOS.AppTestAios.java

@BeforeClass
public void setUp() throws Exception {
    File app = null;//from  w  ww  . j  a v a  2  s  .c om
    if (!autoOSType.toLowerCase().contains("windows")) {
        app = new File(("\\\\Users\\\\appledev131\\\\Downloads\\\\").replaceAll("\\\\", File.separator),
                "REX.app");
        //   /Users/appledev131/Library/Developer/Xcode/DerivedData/REX-bbwgxqprkuseurehlqknegagqtmh/Build/Products/Debug-iphonesimulator/REX.app
    } else {
        app = new File("C:\\Paul", "REX.app");
    }
    System.out.println("System.getPre + user.dir : " + System.getProperty("user.dir"));
    //   capabilities.setCapability("deviceName", "Rex iphone6p");
    // capabilities.setCapability("udid", "60eef3f286cf3962ffb68e661cfbc21ebe67bf10");
    capabilities.setCapability("BundleID", "com.pwc.REX");
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    //   capabilities.setCapability(CapabilityType.VERSION, "5.1");
    capabilities.setCapability("app", app.getAbsolutePath());
    //   capabilities.setCapability("app-package", "com.pwc.talentexchange");
    //   capabilities.setCapability("app-activity", ".activity.BaseActivity");
    capabilities.setCapability("unicodeKeyboard", "True");
    capabilities.setCapability("resetKeyboard", "True");
    // DesiredCapabilities capabilities = new DesiredCapabilities();
    //   capabilities.setCapability("deviceName", ("iPhone 6" + " "));
    //  capabilities.setCapability("deviceName", ("iPad 2"));
    capabilities.setCapability("deviceName", ("iPhone 6"));
    capabilities.setCapability("platformVersion", "8.4");
    capabilities.setCapability("platformName", "iOS");
    //   capabilities.setCapability("orientation", "LANDSCAPE");
    //   capabilities.setCapability("sendKeyStrategy", "oneByOne");
    //   capabilities.setCapability("app", "REX.app");

    driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

    pfile.mkdir();

}

From source file:REXSH.REXAUTO.IOS.AppTestAios.java

public void recover() throws Exception {
    driver.closeApp();/*  www .j  a  v  a2  s . c  om*/
    driver.quit();
    Thread.sleep(5000);
    File app = null;
    if (!autoOSType.toLowerCase().contains("windows")) {
        app = new File(("\\\\Users\\\\appledev131\\\\Downloads\\\\").replaceAll("\\\\", File.separator),
                "REX.app");
    } else {
        app = new File("C:\\Paul", "REX.app");
    }
    System.out.println("System.getPre + user.dir : " + System.getProperty("user.dir"));
    capabilities.setCapability("app", app.getAbsolutePath());
    capabilities.setCapability("unicodeKeyboard", "True");
    capabilities.setCapability("resetKeyboard", "True");
    //   capabilities.setCapability("udid", "60eef3f286cf3962ffb68e661cfbc21ebe67bf10");
    capabilities.setCapability("BundleID", "com.pwc.REX");
    // capabilities.setCapability("deviceName", ("iPad 2"));
    capabilities.setCapability("deviceName", ("iPhone 6"));
    capabilities.setCapability("platformVersion", "8.4");
    capabilities.setCapability("platformName", "iOS");
    //    capabilities.setCapability("orientation", "LANDSCAPE");
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    //    capabilities.setCapability("app", "REX.app");

    driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

From source file:swift.selenium.Automation.java

License:Open Source License

public static void setUp() throws Exception {
    if (driver != null) {
        WebHelper.wait = null;//from  w  w  w. j a  v a 2s . c om
        driver.quit();

    }

    // 03-Jun-16:SS  No need to check if Process is running, we can directly go for Kill operation
    String extn = "";
    String osName = System.getProperty("os.name");

    if (osName.contains("Mac") || osName.contains("Linux")) {
        extn = "";

    } else {
        extn = ".exe";
    }

    CalendarSnippet.killProcess("IEDriverServer" + extn);
    CalendarSnippet.killProcess("chromedriver" + extn);
    CalendarSnippet.killProcess("node" + extn);

    try {

        if (!StringUtils.equalsIgnoreCase("none", configHashMap.get("BROWSERTYPE").toString())) {
            Automation.browser = Automation.configHashMap.get("BROWSERTYPE").toString();
        }
        browserType = browserTypeEnum.valueOf(browser);

        switch (browserType) {

        case AppiumDriver:

            AppiumDriverLocalService service = null;

            File classPathRoot = new File(System.getProperty("user.dir"));

            // Read Appium Config and set the desired capabilities
            String Appium_Path = appiumConfigMap.get("APPIUM_PATH").toString();
            String Appium_REMOTE_URL = appiumConfigMap.get("REMOTE_URL").toString();
            int Appium_REMOTE_PORT = Integer.parseInt(appiumConfigMap.get("REMOTE_PORT").toString());

            DesiredCapabilities capabilities = new DesiredCapabilities();

            String platformname = appiumConfigMap.get("PLATFORMNAME").toString();
            capabilities.setCapability("platformName", platformname);

            String deviceName = appiumConfigMap.get("DEVICENAME").toString();
            capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, deviceName);

            String udid = appiumConfigMap.get("UDID").toString();
            if (!udid.equalsIgnoreCase("NA")) {

                capabilities.setCapability(MobileCapabilityType.UDID, udid);
            }

            String browserName = appiumConfigMap.get("BROWSERNAME").toString();
            if (browserName.equalsIgnoreCase("NA")) {
                capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
            } else {
                capabilities.setCapability(CapabilityType.BROWSER_NAME, browserName);
            }

            String platform = appiumConfigMap.get("PLATFORM").toString();
            capabilities.setCapability(CapabilityType.PLATFORM, platform);

            String appPakcage = appiumConfigMap.get("APP_PACKAGE").toString();
            if (!appPakcage.equalsIgnoreCase("NA")) {
                capabilities.setCapability("appPackage", appPakcage);
            }

            String appPath = appiumConfigMap.get("APP_PATH").toString();
            if (!appPath.equalsIgnoreCase("NA")) {
                capabilities.setCapability("app", appPath);
            }

            String appActivity = appiumConfigMap.get("APP_ACTIVITY").toString();
            if (!appActivity.equalsIgnoreCase("NA")) {
                capabilities.setCapability("appActivity", appActivity);
            }

            String service_url = "";

            // Start the Appium Service based on OS
            if (osName.contains("Windows")) {

                try {
                    service = AppiumDriverLocalService.buildService(new AppiumServiceBuilder()
                            .withAppiumJS(new File(Appium_Path + "\\node_modules\\appium\\bin\\Appium.js"))
                            .usingDriverExecutable(new File(Appium_Path + "\\node.exe"))
                            .withArgument(GeneralServerFlag.LOG_LEVEL, "info").withIPAddress(Appium_REMOTE_URL)
                            .usingPort(Appium_REMOTE_PORT)
                            .withLogFile(new File(new File(classPathRoot, File.separator), "Appium.log")));

                    service.start();
                    Thread.sleep(5000);
                    service_url = service.getUrl().toString();
                } catch (Exception e) {
                    e.printStackTrace();

                }

            } else if (osName.contains("Mac")) {

                try {
                    service = AppiumDriverLocalService.buildService(new AppiumServiceBuilder()
                            .withAppiumJS(
                                    new File(Appium_Path + "//lib//node_modules//appium//build//lib//main.js"))
                            .usingDriverExecutable(new File(Appium_Path + "//Cellar//node//6.2.0//bin//node"))
                            .withArgument(GeneralServerFlag.LOG_LEVEL, "info").withIPAddress(Appium_REMOTE_URL)
                            .usingPort(Appium_REMOTE_PORT)
                            .withLogFile(new File(new File(classPathRoot, File.separator), "Appium.log")));

                    service.start();
                    Thread.sleep(5000);
                    service_url = service.getUrl().toString();

                }

                catch (Exception e) {
                    e.printStackTrace();

                }

            } else if (osName.contains("Linux")) {

                try {
                    service = AppiumDriverLocalService.buildService(new AppiumServiceBuilder()
                            .withAppiumJS(new File(
                                    "/home/rushikesh/.linuxbrew/lib/node_modules/appium/bin/appium.js"))
                            .usingDriverExecutable(
                                    new File(Appium_Path + "//usr//local//n//versions//node//6.0.0//bin//node"))
                            .withArgument(GeneralServerFlag.LOG_LEVEL, "info").withIPAddress(Appium_REMOTE_URL)
                            .usingPort(Appium_REMOTE_PORT)
                            .withLogFile(new File(new File(classPathRoot, File.separator), "Appium.log")));

                    service.start();
                    Thread.sleep(5000);
                    service_url = service.getUrl().toString();

                }

                catch (Exception e) {
                    e.printStackTrace();

                }

            } else {
                TransactionMapping
                        .pauseFun("Mobile Automation Support for this OS " + osName + " is yet to be added");

            }

            // Initiate the driver based on Mobile OS
            if (platformname.contains("iOS")) {
                driver = new IOSDriver(new URL(service_url), capabilities);

            } else if (platformname.contains("Android")) {
                driver = new AndroidDriver(new URL(service_url), capabilities);
            }

            break;

        case InternetExplorer:
            driver = getIEDriverInstance();
            driver.manage().deleteAllCookies();
            driver.manage().window().maximize();
            break;
        case FireFox:
            driver = getFFDriverInstance();
            driver.manage().deleteAllCookies();
            driver.manage().window().maximize();
            break;

        case Chrome:
            driver = getChromeDriverInstance();
            driver.manage().deleteAllCookies();
            break;

        // TM-20/01/2015-Case added for Safari
        case Safari:
            driver = getSafariDriverInstance();
            driver.manage().window().maximize();
            break;
        case None:
            System.out.println("The browser setup need to be done in Input file...");
            break;
        }
        if (driver != null) {
            driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
            WebHelper.wait = new WebDriverWait(Automation.driver,
                    Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString()));
        }
        //if (!StringUtils.equalsIgnoreCase("none", configHashMap.get("BROWSERTYPE").toString())){
        //WebHelper.wait = new WebDriverWait(Automation.driver,Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString()));
        //}
    } catch (NullPointerException npe) {
        npe.printStackTrace();
        TransactionMapping.pauseFun("Null Values Found in Automation.SetUp Function");
    } catch (Exception e) {
        e.printStackTrace();
        TransactionMapping.pauseFun("Error from Automation.Setup " + e.getMessage());
    }
}