Блог вебразработчика
  • ГЛАВНАЯ
  • ПОДПИСКА

SELENIUM DRIVER: используем InternetExplorerDriver

Апр14
2012
Написал Tatyana

В этой статье мы рассмотрим, как запустить проект с использованием Internet Explorer Driver и обойти распространенные ошибки.

Для начала стоит отметить, что Internet Explorer Driver поддерживает 32- и 64-битные версии браузеров, и, само собой, разумеется, будет работать только на платформе Windows. Он был успешно протестирован с IE 6,7,8 и 9 для XP, Vista и Windows 7.

Для того, чтобы использовать Internet Explorer Driver нужно скачать сервер и добавить путь к нему в переменную среды PATH. Инсталлятор запускать перед использованием не нужно!

Инициализация драйвера в коде аналогична другим драйверам и не требует никаких особенных параметров:

WebDriver driver = new InternetExplorerDriver();

Однако использование InternetExplorerDriver требует некоторых обязательных настроек:

  • Вы должны установить Параметры безопасности для каждой зоны в одинаковое значение. Защищенный режим может быть включен, либо отключен — но значение обязательно должно быть одинаково для всех зон. Для того, чтобы установить Параметры безопасности, откройте «Свойства обозревателя» в панели управления и выберите закладку Безопасность. Для каждой зоны внизу закладки будет чекбокс «Включить защищенный режим». Если же параметры безопасности для зон будут различны, то при запуске теста Вы скорее всего получите следующую ошибку — «Unexpected error launching Internet Explorer. Protected Mode must be set to the same value (enabled or disabled) for all zones», которая легко решается выполнением данного пункта.
  • Масштабирование в браузере должно быть установлено в 100%, чтобы нативным событиям мыши устанавливались правильные координаты.

Следующая трудность, с которой Вы можете столкнуться:
Тест запускается и открывает IE с рандомным адресом local host «http://localhost:18709/» и сообщением: This is the initial start page for the WebDriver server. Это происходит несмотря на то что в тесте есть строка с получением адреса (Например, driver.get(«http://www.google.com/»); ) и тест просто не выполняется дальше инициализации драйвера. Это происходит потому, что для выполнения API требуется, чтобы окно находилось в фокусе. Для решения этой проблемы убедитесь, что все всплывающие окна в IE закрыты, IE debugger(F12) также должен быть закрыт!

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

  • Нравится
  • Tweet

Опубликовано в Selenium - Помечено InternetExplorerDriver, Selenium WebDriver
Рассказать всем Twitter Facebook Delicious StumbleUpon E-Mail
← Скорость продвижения сайта
Selenium 2: ожидание событий →

Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/u0420283/data/www/internetka.in.ua/wp-includes/class-wp-comment-query.php on line 405

6 комментариев

  1. Виталик Кирилюк's Gravatar Виталик Кирилюк
    30.01.2013 at 09:21 | Permalink

    Валит такую ошибку:
    java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.ie.driver system property; for more information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list
    Как правильно инициализировать IE в system property ?

    • Tatyana's Gravatar Tatyana
      30.01.2013 at 12:17 | Permalink

      Скачайте сервер, расположите его в проекте.

      File file = new File("src/test/resources/IEDriverServer.exe");
      System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
      driver = new InternetExplorerDriver();
      

      Или просто добавьте путь (без указания имени файла) в переменную PATH на машине.

      • Виталик Кирилюк's Gravatar Виталик Кирилюк
        01.02.2013 at 07:47 | Permalink

        Спасибо.

  2. Виктория's Gravatar Виктория
    17.02.2014 at 11:07 | Permalink

    Спасибо Татьяна за статьи SELENIUM DRIVER: используем InternetExplorerDriver и Selenium: запуск Chrome Driver, очень доступно и наглядно написано!
    Вопрос: Возможно ли с одного test.java запустить три браузера (Firefox, Chrome, InternetExplorer), что бы один и тот же тест прошел по каждему браузеру отдельно (но с одного теста) ? Если да, то как.
    Спасибо

    • Tatyana's Gravatar Tatyana
      17.02.2014 at 11:59 | Permalink

      Это возможно сделать. Мне кажется, что самый простой и быстрый способ — использовать параметризированные тестовые классы JUnit и RemoteWebDriver
      В вашем случае в качестве параметров будут выступать DesiredCapabilities с указанием типа необходимых браузеров.

      @RunWith(Parameterized.class)
      public class ParametrizedTestClass {
      
      	public WebDriver driver;
      
      	@Parameters
      	public static Collection<Object[]> data() {
      
      		Object[][] data = new Object[][] { 
      				{ DesiredCapabilities.firefox() },
      				{ DesiredCapabilities.chrome() },
      				{ DesiredCapabilities.internetExplorer() } };
      		return Arrays.asList(data);
      	}
      
      	public ParametrizedTestClass(Capabilities capabilities)
      			throws MalformedURLException {
      		this.driver = new RemoteWebDriver(new URL(
      				"http://localhost:4444/wd/hub"), capabilities);
      
      	}
      
      	@Test
      	public void someTest() {
      		driver.get("SITE_URL");
      	}
      
      	@After
      	public void tearDown() {
      		driver.quit();
      	}
      }
      

      Можно не использовать RemoteWebDriver, а сделать в конструкторе несколько if else конструкций и создавать необходимый Вам драйвер вручную.

      • Виктория's Gravatar Виктория
        18.02.2014 at 08:02 | Permalink

        Спасибо за быстрый ответ! Попробую, с RemoteWebDriver еще не работала, сейчас гляну что он из себя предстваляет.
        Спасибо!

Свежие записи

  • WebDriver и SSL Untrusted certificate
  • Видеозапись выполнения тестов Selenium
  • Selenium WebDriver: basic авторизация
  • BrowserMob Proxy + Selenium: автоматизация сбора данных о производительности
  • Hibernate 4: UserType пользовательский тип данных (часть 2)

Поиск

Рубрики

  • Hibernate ORM
  • SEO
  • Разное
  • Тестирование
    • JUnit
    • Selenium
    • Thucydides

Метки

Actions AJAX Alert AutoIt ChromeDriver Exceptions ExpectedConditions FindElement FirefoxDriver Hibernate InternetExplorerDriver Java Javascript Jenkins JUnit4 Maven PageFactory Page Object RemoteWebDriver Select Selenium IDE Selenium Server Selenium WebDriver switchTo Thucydides WebDriverWait XPath Автоматизированное тестирование база данных заработок в сети сеть Интернет скорость продвижения сайта статейное продвижение услуги продвижения

Реклама


Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.

Блог вебразработчика
Функциональное тестирование и продвижение сайтов

Яндекс.Метрика