Selenium webdriver Не в состоянии запустить приложение в IE, но открывается в Firefox и Chrome - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь запустить веб-приложение в браузере по выбору пользователя. Для этого я использовал условие IF / Switch Case. В обоих случаях приложение не запускается в IE11. Однако то же самое приложение прекрасно открывается в Firefox & Chrome.

Если я не использую For loop или Switch case, жестко закодируйте имя браузера как IE, тогда приложение запустится в браузере IE11 и продолжит тестирование без каких-либо проблем. Что может быть не так с кодом ниже

    //Attempt 1. Below code NOT WORKING

    log.info("browser name received in utils is :" + browser);

    switch(browser.toLowerCase()) 
    {
    case "firefox":
        log.info("browser name before case firefox :" + browser);
        try
        {
            log.info("Launching Firefox browser");
            System.setProperty("webdriver.gecko.driver",".\\drivers\\geckodriver.exe");
            d = new FirefoxDriver();
            d.manage().timeouts().implicitlyWait(50,TimeUnit.SECONDS) ;
        }

        catch (Exception e)
        {
            log.info("Not able to launch browser");

        }
        log.info("browser name after case firefox :" + browser);
    case "iexplorer":
        log.info("browser name before case IE :" + browser);
        try
        {
            log.info("Launching IE browser");
            System.setProperty("webdriver.ie.driver", ".\\drivers\\IEDriverServer.exe");
            DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
            capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
            WebDriver d = new InternetExplorerDriver();
        }catch (Exception e)
        {
            log.info("Not able to launch IE browser");

        }
        log.info("browser name after case IE :" + browser);

    case "chrome":
        log.info("browser name before case chrome :" + browser);
        try
        {
            log.info("Launching Chrome browser");
            System.setProperty("webdriver.chrome.driver", ".\\drivers\\chromedriver.exe");
            d = new ChromeDriver();
            d.manage().timeouts().implicitlyWait(50,TimeUnit.SECONDS) ;
        }catch (Exception e)
        {
            log.info("Not able to chrome browser");

        }
        log.info("browser name after case chrome :" + browser);
    }

---------- ВЫХОД ИЗ ЖУРНАЛА ДЛЯ ПОПЫТКИ 1 -----------

2018-05-02 19:02:27 ИНФОРМАЦИЯ Utils: 75 - имя браузера, полученное в utils: iexplorer 2018-05-02 19:02:27 INFO Utils: 96 - имя браузера перед регистром IE: iexplorer 2018-05-02 19:02:27 INFO Используется: 99 - Запуск браузера IE Запущен сервер InternetExplorerDriver (32-разрядный) 2.53.1.0 Прослушивание через порт 45158 Разрешены только локальные подключения 02 мая 2018 г. 19:02:29 org.openqa.selenium.remote.ProtocolHandshake createSession ИНФОРМАЦИЯ: Обнаруженный диалект: OSS 2018-05-02 19:02:29 INFO Utils: 109 - имя браузера после регистра IE: iexplorer 2018-05-02 19:02:29 ИНФОРМАЦИЯ Utils: 112 - имя браузера до регистра Chrome: iexplorer 2018-05-02 19:02:29 ИНФОРМАЦИЯ Utils: 115 - запуск браузера Chrome Запуск ChromeDriver 2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91) через порт 9315 Разрешены только локальные соединения. 02 мая 2018 г. 19:02:31 org.openqa.selenium.remote.ProtocolHandshake createSession ИНФОРМАЦИЯ: Обнаруженный диалект: OSS 2018-05-02 19:02:31 INFO Utils: 124 - имя браузера после регистра chrome: iexplorer

1 Ответ

0 голосов
/ 02 мая 2018

Хорошо, ваш вход в журнал говорит, что браузер был запущен. Если он закрывается или у вас нет доступа, возможно, проблема в переменной драйвера при создании вашего IEDriver:

// Change from
WebDriver d = new InternetExplorerDriver();
// to:
d = new InternetExplorerDriver();

Предполагая, что ваш var d является глобальным, он решит вашу проблему. Поскольку вы создаете новый файл с именем samen, он теряет свою ссылку после завершения метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...