В этом разделе публикуются официальные новости: сообщения о выходе новых релизов Selenium, объявления о конференциях, тренингах и иных мероприятиях, посвящённых Selenium, другие официальные объявления.

Ведущий колонки новостей: Алексей Баранцев

Наличие автоматизации это не переключатель с двумя положениями. Вот вчера ещё у вас ещё не было автоматизации. А сегодня -- чик! -- и она есть. Всё совсем не так.

Автоматизация -- это делегирование некоторых задач от человека машине.

Даже если вы тестируете вручную -- почти наверняка вы используете вспомогательные инструменты для автоматизации отдельных задач. Генерация тестовых данных, утилиты для анализа логов, сбора статистики, построения отчётов и графиков.

Кто-то ограничивается такими простыми вспомогательными инструментами. А кто-то делает следующий шаг -- автоматическое заполнение форм, автоматическое выполнение серии каких-то действий по горячей клавише.

Но ведь это не автоматическое выполнение тестов, можете возразить вы. Да, не полностью автоматическое. Но даже частичная автоматизация позволяет экономить время при выполнении рутинных задач, и этим она полезна.

Впрочем, нет ничего сложного в том, чтобы сделать и следующий шаг -- к полностью автоматическому выполнению тестов. И это тоже можно сделать, не умея программировать.

Есть мнение, что "хорошие" автотесты могут быть написаны только на "настоящем" языке программирования.

Но что значит "хорошие"? Если под "хорошими" подразумеваются сложные тесты, с нетривиальной логикой и интеллектуальными проверками -- тогда, конечно, потребуется полноценный язык, позволяющий выразить эту сложность.

Однако не всегда требуются сложные тесты. Зачастую можно обойтись простыми линейными сценариями с примитивными проверками, или даже вообще без проверок -- если сценарий дошёл до конца и не упал, значит всё хорошо.

И для таких простых тестов вполне можно обойтись простыми инструментами. Некоторые из них предполагают написание сценариев вручную (например, Robot Framework). Другие позволяют автоматизировать не только выполнение сценариев, но и процесс их создания. Для этого используются инструменты-рекордеры, отслеживающие и фиксирующие действия пользователей.

Для веб-приложений наиболее популярным инструментом, не требующим умения программировать и имеющим рекордер, является Selenium IDE. Научиться пользоваться этим инструментом весьма несложно, и это будет полезно всем, кто занимается тестированием веб-приложений. Хотя бы для того же автоматического заполнения форм тестовыми данными.

Для быстрого освоения Selenium IDE мы сделали новую версию тренинга "Selenium: стартовый уровень".

{tortags,152,1}

Пока я был в отпуске, неожиданно случился релиз Selenium 2.47.

Главным поводом послужило добавление официального драйвера для браузера Microsoft Edge. Этот браузер входит в состав Windows 10, поставки которой начались 29 июля.

Но это не единственное крупное изменение, есть и другие:

  • прекращена поддержка Java 6, теперь минимальным требованием для работы Selenium Server и клиенткой Java-библиотеки является Java 7 (которая, кстати, тоже уже не поддерживается производителем, так что вообще говоря правильно использовать Java 8)
  • класс WebElement теперь реализует интерфейс TakesScreenshot, потому что согласно стандарту W3C WebDriver должна быть возможность снять скриншот отдельного элемента, но не стоит обольщаться -- реализации пока нет, только интерфейс :)
  • клиенская C#-библиотека теперь использует пакет ZipStorer вместо DotNetZip, это позволило обеспечить совместимость с платформой Mono
  • в Selenium Grid решена проблема запуска "совсем другого браузера" -- например, пользователь запрашивает Opera, а вместо этого запускается Internet Explorer или Safari, теперь выбрасывается исключение, если не удаётся запустить браузер нужного типа
  • реализована сортировка узлов Selenium Grid в соответствии с загруженностью, сессии теперь распределяются по узлам более равномерно
  • добавлена поддержка диалоговых окон (alerts) в HtmlUnitDriver
  • добавлена поддержка SVG в HtmlUnitDriver
  • добавлена экспериментальная поддержка диалога авторизации в InternetExplorerDriver

Ну и как всегда исправлено некоторое количество багов.

Облачный провайдер браузеров BrowserStack оказался быстрее конкурентов и первым предоставил возможность запуска браузера Edge на платформе Windows 10.

Открыта регистрация на конференцию SeleniumConf 2015, которая будет проходить с 8 по 10 сентября 2015 года в Портланде (штат Орегон, США).

С материалами предыдущих конференций можно ознакомиться здесь.

{tortags,138,1}

Наконец-то после продолжительной и упорной борьбы с сервером непрерывной интеграции удалось выпустить релиз Selenium 2.46.

Главные изменения в этом релизе связаны, как обычно, с браузером Firefox (потому что он чаще всех обновляется, и при этом нередко нарушается обратная совместимость):

  • решена проблема снижения производительности в Firefox 37 (и более новых версиях)
  • решена проблема падения браузера на старте в Firefox 38 (и более новых версиях)
  • прекращены падения Firefox в модуле plugin-container при выполнении команды quit

А теперь о других значимых изменениях:

  • нативные события теперь поддерживаются только в версии Firefox 31 (и вероятнее всего вскоре вообще перестанут поддерживаться)
  • разрешено работать с "прозрачными" файловыми полями ввода
  • полностью удалена поддержка "старых" версий Opera (работающих на движке Presto)
  • HtmlUnitDriver обновлён до версии HtmlUnit 2.17, для использования требуется Java 7
  • устранена критичная проблема, приводившая к падению сервера, если подключается драйвер, собранный для более новой версии Java, чем та, которая используется для запуска сервера, в частности, HtmlUnit собран для Java 7, и это вызывало падения сервера, если для запуска используется Java 6
  • в реализации на Java появилась бета (хотя на самом деле скорее альфа :)) версия MarionetteDriver, но более или менее нормально использовать её можно только с Firefox Nightly, потому что стабильные релизы Firefox содержат пока ещё недостаточно полноценную версию marionette
  • капабилити pageLoadingStrategy переименована в pageLoadStrategy
  • добавлена поддержка капабилити pageLoadStrategy в драйвер для Internet Explorer
  • в реализации на Java обновилась библиотека jna, в новой версии более "совместимая с opensource" лицензия
  • в реализации на .Net весьма сильно поменялась реализация фабрик локаторов, если вы писали свои собственные фабрики -- внимательно посмотрите на произошедшие изменения!

Более мелкие изменения, но тоже весьма полезные:

  • в Firefox появилась возможность очищать файловые поля ввода, то есть вызывать для них метод clear, вскоре и в других браузерах это будет разрешено делать
  • в реализации на Java обновлена библиотека commons-exec, в новой версии исправлен баг, который приводил к сбою, если пытаться вызывать driver.quit() в shutdown hook'е, теперь это можно безопасно делать
  • улучшены информационные сообщения, выводимые на консоль хабом и нодами
  • в Firefox отключена функция HeartBreak (https://wiki.mozilla.org/Advocacy/heartbeat)
  • в реализации на Java появилась возможность в PageFactory использовать самодельные аннотации (спасибо Артёму Кошелеву и его коллегам)
  • в реализации на .Net стало доступно больше ExpectedConditions

Ну и ещё исправлено много разных багов.

Онлайн-тренинг с домашними работами от Алексея Баранцева.

Начало - 29 мая

Фреймворки семейства xUnit -- это основа основ автоматизированного тестирования. Они используются для организации и запуска тестов и сбора информации о результатах тестирования, то есть решают одну из ключевых задач автоматизации тестирования.

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

В этом тренинге рассматриваются два наиболее популярных тестовых фреймворка для языка программирования Java -- JUnit и TestNG.

Начать работать с этими фреймворками несложно. Однако опыт показывает, что большинство автоматизаторов использует лишь незначительную часть возможностей, которые предоставляют тестовые фреймворки.

Но может быть эти “продвинутые” возможности просто не нужны, поэтому и не используются?

Увы, часто тестировщики-автоматизаторы строят сложные конструкции из “костылей” и изобретают самодельные велосипеды, не подозревая о том, что нужная функциональность может быть реализована гораздо более простым способом.

Из тренинга вы узнаете, как организовывать тесты в группы, как их запускать в нужном порядке, как правильно описывать зависимости между тестами, как реализовать “мягкие” и “жесткие” проверки, как сделать тесты параметризованными, как реализовать загрузку данных из разных источников и применять подход DDT (data-driven testing), как автоматически перезапустить упавшие тесты и ещё многое другое.

Материал разбит на два уровня сложности: использование встроенных возможностей тестового фреймворка и расширение функциональности фреймворка через специально предусмотренные интерфейсы расширения.

Подробная программа и условия участия

Go to top