Не удалось запустить браузер IE с помощью Selenium2 (Webdriver) с Java

Я не могу запустить браузер IE для запуска автоматических тестов selenium, написанных на Java. Я использую Windows 7 и IE 9. Ниже приведен мой код:

пожалуйста, найдите вложение.enter image description here

public class GoogleNews {
    private WebDriver driver;
    private String baseUrl;
    private StringBuffer verificationErrors = new StringBuffer();
    ArrayList al = new ArrayList();
    @Before
    public void setUp() throws Exception {
        //driver = new FirefoxDriver();
        driver =new InternetExplorerDriver();
        baseUrl = "https://news.google.co.in/";

    }

    @Test
    public void testApple() throws Exception {
        driver.get(baseUrl);
    }
}

8 ответов


Он должен установить одинаковый уровень безопасности во всех зонах. Для этого выполните следующие действия:

  1. открыть IE
  2. перейдите в меню Сервис -> Свойства обозревателя -> безопасность
  3. установите все зоны (интернет, локальная интрасеть, доверенные сайты, сайты с ограниченным доступом) в один и тот же защищенный режим, включен или отключен не имеет значения.

наконец, установите уровень масштабирования на 100%, щелкнув правой кнопкой мыши на шестеренке, расположенной в правом верхнем углу и включив строка состояния. Уровень масштабирования по умолчанию теперь отображается в правом нижнем углу.


Ну, как говорит трассировка стека, вам нужно будет установить параметры защищенного режима одинаковыми для всех зон в IE. Читайте почему здесь:http://jimevansmusic.blogspot.in/2012/08/youre-doing-it-wrong-protected-mode-and.html

и быстрый способ из той же ссылки : "в IE, из меню "Сервис" (или значок шестеренки на панели инструментов в более поздних версиях), выберите " Свойства обозревателя."Перейти на вкладку "Безопасность". В нижней части окна для каждой зоны, вы должны увидеть чек флажок "Включить защищенный режим."Установите значение флажка равным тому же значению, установленному или не установленному, для каждой зоны"


следующий фрагмент кода WebDriver Java должен работать для запуска IE. Код будет игнорировать настройку параметров защищенного режима для всей зоны в браузере IE.

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
File file = new File("D:\Ripon Al Wasim\IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver(capabilities);
driver.get("https://www.google.com/");

загрузите IEDriverServer и извлеките его в нужное место и установите абсолютный путь (в моем примере выше это было "D:\Ripon Al Wasim\IEDriverServer.exe")


  1. на IE->Tools->Internet Options.
  2. перейдите на вкладку Безопасность.
  3. включить/отключить защищенный режим для всех(интернет, местная интрасеть, надежные сайты и опасные сайты.)

чтобы решить эту проблему, вам нужно сделать две вещи:

  1. вам нужно будет установить запись реестра на целевом компьютере, чтобы драйвер может поддерживать подключение к экземпляру Internet Исследователь он создает.

  2. измените несколько настроек браузера Internet Explorer на этой машине (где вы хотите запустить автоматизацию).

1 . Настройка Раздела Реестра / Запись :

  • чтобы установить раздел реестра или запись, вам нужно открыть "редактор реестра".

  • чтобы открыть "редактор реестра" нажмите кнопку windows + R алфавитный ключ который откроет "окно запуска", а затем введите" regedit " и нажмите enter.

  • или нажмите кнопку Windows и введите "regedit" в меню "Пуск" и нажать кнопку ввод. Теперь в зависимости от типа вашей ОС, следует ли 32/64 бит соответствие лестница.

Windows 32 бит: перейдите в это расположение - " HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl "и проверьте ключ" FEATURE_BFCACHE".

бит Windows 64: перейдите в это расположение-HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl и проверьте наличие ключа "FEATURE_BFCACHE". обратите внимание: the FEATURE_BFCACHE подраздел может или может не присутствовать, и должен быть создан если его нет.

важно: внутри этого ключа создайте значение DWORD с именем iexplore.exe со значением 0.

Registry Setting

2 . Изменение настроек браузера Internet Explorer:

  • нажмите на кнопку Настройки и выберите "Свойства обозревателя".

  • On " Интернет параметры " окно перейти к "безопасность" tab

  • Теперь выберите "сети" опция и снимите флажок" Включить защищенный режим "и измените" уровень безопасности " на низкий.

  • Теперь выберите "Местная Интрасеть" опция и изменить "уровень безопасности" на низкий.

  • Теперь выберите "Надежные Узлы" опция и изменить "уровень безопасности" на низкий.

Internet Options

  • Теперь нажмите на кнопку "применить" кнопка, всплывающее предупреждение может появиться нажмите на кнопку" OK "для предупреждения, а затем на кнопку" OK " в окне параметров Интернета.

Save Settings

  • после этого перезапустите браузер.

вместо использования абсолютного пути для IEDriverServer.exe, лучше использовать относительный путь в соответствии с проектом.

        DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
        capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
        File fil = new File("iDrivers\IEDriverServer.exe");
        System.setProperty("webdriver.ie.driver", fil.getAbsolutePath());
        WebDriver driver = new InternetExplorerDriver(capabilities);        
        driver.get("https://www.irctc.co.in");          

для использования NighwatchJS:

"ie" : {
  "desiredCapabilities": {
    "browserName": "internet explorer",
    "javascriptEnabled": true,
    "acceptSslCerts": true,
    "allowBlockedContent": true,
    "ignoreProtectedModeSettings": true
  }
},

перед началом работы с Internet Explorer и Selenium Webdriver рассмотрим эти два важных правила.

  • уровень масштабирования: должен быть установлен по умолчанию (100%) и
  • настройки зоны безопасности: должны быть одинаковыми для всех. Параметры безопасности должны быть установлены в соответствии с разрешениями организации.

Как установить?

  • просто перейдите в Internet explorer, сделайте оба материала вручную. Вот и все. Нет секрет.
  • сделайте это через свой код.

Способ 1:

возможности DesiredCapabilities = возможности DesiredCapabilities.Internet обозреватель();

    capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);

    System.setProperty("webdriver.ie.driver","D:\IEDriverServer_Win32_2.33.0\IEDriverServer.exe");

    WebDriver driver= new InternetExplorerDriver(capabilities);


    driver.get(baseURl);

    //Identify your elements and go ahead testing...

это точно не показывать никаких ошибок, и браузер откроется а также будет перемещаться по URL.

эта не будет идентифицировать какой-либо элемент и, следовательно, вы не можете продолжить.

почему? Потому что у нас просто подавил ошибку и попросил IE открыть и получить этот URL-адрес. Однако Selenium будет идентифицировать элементы только в том случае, если масштаб браузера равен 100% ie. по умолчанию. Таким образом, окончательный код будет

Метод 2 надежный и полный способ доказательства:

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();

    capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);

    System.setProperty("webdriver.ie.driver","D:\IEDriverServer_Win32_2.33.0\IEDriverServer.exe");

    WebDriver driver= new InternetExplorerDriver(capabilities);


    driver.get(baseURl);

    driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,"0"));

    //Identify your elements and go ahead testing...

надеюсь, что это помогает. Дайте мне знать, если потребуется дополнительная информация.