Получение org.openqa.selenium.remote.SessionNotFoundException для драйвера IE

Я получаю org.openqa.selenium.remote.SessionNotFoundException: исключение сеанса null не существует при попытке открыть google.com через драйвер IE.

Мой код выглядит следующим образом:

public class Google {
    static WebDriver obj;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String browser = "ie";

        if (browser.equalsIgnoreCase("chrome")) {
            System.setProperty("webdriver.chrome.driver", "E:\\Selenium\\Selenium Prerequisites\\chromedriver.exe");
            obj = new ChromeDriver();

        } else if (browser.equalsIgnoreCase("firefox")) {
            obj = new FirefoxDriver();
        } 
        else if (browser.equalsIgnoreCase("ie")){
            System.setProperty("webdriver.ie.driver", "E:\\Selenium\\Selenium Prerequisites\\IEDriverServer.exe");
            obj = new InternetExplorerDriver();

        }
        else
            System.out.println("invalid browser name");

        obj.get("https:\\google.com");
    }
}

Пожалуйста, дайте мне знать, что мне не хватает, я использую браузер IE v11, selenium webdriver v2.53.1, IEDriverServer v3.6.0 32bit.

Ниже приведено полное исключение, которое я получаю (Обратите внимание, что если я перейду на selenium webdriver v3.6, тогда проблем не будет, и код работает отлично):

Started InternetExplorerDriver server (64-bit)
3.6.0.0
Listening on port 37910
Only local connections are allowed
Exception in thread "main" org.openqa.selenium.remote.SessionNotFoundException: session null does not exist (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: 'SHAN', ip: '192.168.1.6', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{capabilities={acceptInsecureCerts=false, browserVersion=11, se:ieOptions={nativeEvents=true, browserAttachTimeout=0, ie.ensureCleanSession=false, elementScrollBehavior=0, enablePersistentHover=true, ie.browserCommandLineSwitches=, ie.forceCreateProcessApi=false, requireWindowFocus=false, initialBrowserUrl=http://localhost:37910/, ignoreZoomSetting=false, ie.fileUploadDialogTimeout=3000, ignoreProtectedModeSettings=false}, browserName=internet explorer, pageLoadStrategy=normal, unhandledPromptBehavior=dismiss, platformName=windows, setWindowRect=true}, sessionId=280ec1bf-328c-42f6-8f46-e5e7a1dc47f5, platform=ANY}]
Session ID: null
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
    at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:316)
    at webDriverInitialTest.Google.main(Google.java:54)

Ниже приведены скриншоты из вкладки безопасности IE.

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

Спасибо.


person Shan    schedule 08.10.2017    source источник
comment
Убедитесь, что вы выполнили все настройки в IE, такие как уровень масштабирования и настройки безопасности. Если нет, то сначала настройте и попробуйте   -  person NarendraR    schedule 08.10.2017
comment
@NarendraR, о каких настройках безопасности вы говорите. Я новичок в селене, поэтому мало что знаю. Уточните, пожалуйста, о какой настройке идет речь? Мой приведенный выше код отлично работает для Chrome и Firefox, но возникает проблема только в IE.   -  person Shan    schedule 08.10.2017
comment
посмотрите здесь seleniumeasy.com/selenium-tutorials/   -  person NarendraR    schedule 08.10.2017
comment
Вы можете заменить приведенный ниже код и сообщить мне DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE"); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); System.out.println("Starting InternetExplorer........"); System.setProperty("webdriver.ie.driver","src/test/resources/IEDriverServer.exe"); driver = new InternetExplorerDriver(capabilities); driver.manage().window().maximize(); driver.get(TestDataComman.baseURL);   -  person NarendraR    schedule 08.10.2017
comment
Получение того же исключения. Я использовал приведенный ниже код в условии elseif для т.е. драйвера.DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE"); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); System.out.println("Starting InternetExplorer........"); System.setProperty("webdriver.ie.driver","E:\\Selenium\\Selenium Prerequisites\\IEDriverServer.exe"); obj = new InternetExplorerDriver(capabilities); obj.manage().window().maximize();   -  person Shan    schedule 08.10.2017
comment
См. также: stackoverflow.com/questions/29642940/   -  person iamsankalp89    schedule 08.10.2017


Ответы (3)


Сделай это вручную

Установите одинаковый уровень безопасности для всех зон. Попробуйте выполнить следующие действия

  • Откройте браузер Internet Explorer
  • Перейдите в меню и откройте Сервис -> Свойства обозревателя -> Безопасность.
  • Установите для всех значений зон (Интернет, Местная интрасеть, Надежные сайты, Ограниченные сайты) одинаковый защищенный режим, включенный или отключенный, не имеет значения.
  • нажмите ОК.

или используйте это

DesiredCapabilities IEcaps = DesiredCapabilities.internetExplorer();

IEcaps .setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);

WebDriver driver = new InternetExplorerDriver(IEcaps );
person iamsankalp89    schedule 08.10.2017
comment
Я пробовал оба способа, но каждый раз получаю одно и то же исключение. - person Shan; 08.10.2017
comment
Странно, позвольте мне проверить аганин - person iamsankalp89; 08.10.2017
comment
Я также добавил скриншоты вкладки «Безопасность» в вопрос, пожалуйста, проверьте. - person Shan; 08.10.2017

Помимо включения или отключения Защищенного режима для всех 4 зон, вам необходимо установить уровень масштабирования на 100% в Internet Explorer.

person Lakmal G. Jayathilaka    schedule 22.01.2018

Чтобы запустить IE11 с помощью selenium WebDriver, используйте версию IEDriverServer_Win32_3.4.0 и последнюю версию selenium webDriver. Это работает для IE11. Вы можете получить драйвер IE 3.4.0 по ссылке ниже http://selenium-release.storage.googleapis.com/index.html?path=3.4/

Также добавьте приведенный ниже фрагмент в свой код, чтобы игнорировать настройки защищенного режима IE, и установите путь для IEDriverServer в своем коде.

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); 
capabilities.setCapability(InternetExplorerDriver.
INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);    
String driverpath="src/Drivers/IEDriverServer.exe"; //IEDirver path
System.setProperty("webdriver.ie.driver",driverpath);
InternetExplorerDriver driver= new InternetExplorerDriver(capabilities);
person nanda kumar    schedule 25.07.2018