Подтвердить что ты не робот

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

Я не могу запустить браузер IE для запуска моих автоматических тестов селена, написанных на 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);
    }
}
4b9b3361

Ответ 1

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

  • Открыть IE
  • Перейдите в Инструменты → Свойства обозревателя → Безопасность
  • Установить все зоны (Интернет, локальная интрасеть, доверенные сайты, сайты с ограничениями) в один и тот же защищенный режим, включить или отключить, не имеет значения.

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

Ответ 2

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

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

Ответ 3

Следующий фрагмент кода Java WebDriver должен работать для запуска 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" )

Ответ 4

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

Ответ 5

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

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

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

1 Настройка ключа реестра/записи:

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

  • Чтобы открыть "Редактор реестра", нажмите кнопку Windows + клавишу алфавита r, которая откроет "Запуск окна", затем введите "regedit" и нажмите ввод.

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

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

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

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

Registry Setting

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

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

  • В окне "Свойства обозревателя" перейдите на вкладку "Безопасность".

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

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

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

Internet Options

  • Теперь нажмите кнопку "Применить", может появиться всплывающее предупреждение, нажмите кнопку "ОК" для предупреждения и затем кнопку "ОК" в окне "Свойства обозревателя".

Save Settings

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

Ответ 6

Вместо использования Абсолютного пути для 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");          

Ответ 7

Для NighwatchJS используйте:

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

Ответ 8

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

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

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

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

Метод 1:

Возможности DesiredCapabilities = 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);

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

Это будет определенно не показывать никаких ошибок, и браузер откроет, а также перейдет к URL-адресу.

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

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

Метод 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...

Надеюсь, это поможет. Сообщите мне, нужна ли дополнительная информация.

Ответ 9

Хотел поделиться реальным кодом, так как немногие могут все еще не понять, как его реализовать. Это для реализации С# NUNIT. Удачи!

InternetExplorerOptions options = new InternetExplorerOptions();
            options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
            options.IgnoreZoomLevel = true;
            driver = new
                InternetExplorerDriver("C:\\Users\\stdd\\Desktop\\SLL\\SLLAutomation" +
                "\\Clysis\\STGSearch\\STGClaSearch\\Driver\\", options);
            driver.Manage().Window.Maximize();