Устанавливаем свой маленький локальный веб-сервер

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

На многих наших тренингах с домашними заданиями (программирование для тестировщиков на Java, C#, Python, разного уровня сложности курсы по Selenium, курсы по тестированию производительности и защищенности веб-приложений) самым первым заданием для учеников является подготовка учебного тестового стенда, в том числе установка локального веб-сервера, на котором впоследствии разворачиваются учебные приложения.

Типовая инфраструктура для развертывания современных веб-приложений включает в себя как минимум три составных элемента:

  • интерпретатор языка программирования, на котором реализовано веб-приложение (PHP, Python, Ruby, .Net, Java, ...),
  • база данных, в которой приложение хранит данные (MySQL, Postgress, MS SQL Server, Oracle, ...),
  • веб-сервер, который принимает запросы от клиентов и перенаправляет их приложению (Apache, Nginx, IIS, ...)

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

Но есть исторически сложившаяся тройка, пользующаяся особой популярностью -- Apache + MySQL + PHP.

Для неё существуют готовые инсталляционные пакеты "три в одном", которые позволяют устанавливать компоненты не по отдельности, а все разом. Иногда эти пакеты включают также некоторые дополнительные компоненты.

Из множества подобных пакетов мы выбрали XAMPP, потому что он предлагает инсталляторы для трёх основных операционных систем -- Windows, Linux, OS X, в отличие от большинства конкурентов, ориентированных как правило только на какую-нибудь одну из платформ.

В этой инструкции будет описана установка XAMPP на операционную систему Windows. Процесс установки для других операционных систем может несколько отличаться.

Read more: Устанавливаем свой маленький локальный веб-сервер

Запуск Selenium-тестов в браузере Opera

Существует две принципиально разные версии браузера Opera, построенные на разных движках:

  • "старая" Opera (версии до 12), использующая оригинальный движок Presto, разработанный компанией Opera Software,
  • "новая" Opera (версии 15 и больше), построенная на основе браузера Chromium, то есть использующая движок Blink.

Соответственно, и для запуска Selenium-тестов в этих разных версиях используются совершенно разные механизмы.

Маловероятно, что кому-то сейчас ещё требуется тестировать веб-приложения в старых версиях браузера Opera, поэтому в этой статье описывается только способ запуска тестов в новых версиях Opera.

Read more: Запуск Selenium-тестов в браузере Opera

Webium - PageObject для Python'a

Автор: Игорь Хрол.

Оригинальная публикация

В этой заметке речь пойдёт о новой библиотеке в open-source. Называется она Webium. Сразу дам ссылки:

Когда в Wargaming'e мы переходили с Java на Python выяснилось, что в Python-стэке не хватает хороших PageObject-реализаций. Везде были какие-то нюансы. Поэтому собравшись с духом написали практически порт HtmlElements (http://htmlelements.qatools.ru/), но на Python.

Про принцип работы я уже писал в блоге: http://ru.khroliz.com/2014/06/python-webdriver-webelement.html Сейчас же мы выпилили из нашего общего фреймворка отдельную библиотеку для этих целей и поделились со всеми.

Переписывать документацию не очень бы хотелось в этом посте. Для SeleniumCamp'2015 я нарисовал неплохую презентацию возможностей Webium'a. Код, представленный в презентации, находится на GitHub'e (https://github.com/wgnet/webium/tree/master/examples).

Приятно, что уже поступают отзывы на Webium. Так что пишите в комментариях, или ещё лучше - делайте Pull Request'ы.

Быстрое создание Maven-проекта для Selenium-тестов

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

К счастью, такая возможность создания проектов из готовых шаблонов уже есть в Maven. Называются такие заготовки "архетипами", и для создания проекта из архетипа нужно использовать команду 'mvn archetype:generate', подробнее про неё можно почитать на официальной странице плагина maven-archetype-plugin

Но ведь нужен ещё шаблон, в котором уже настроены все нужные зависимости от Selenium и от тестовых фреймворков.

Есть такие шаблоны! Две штуки -- один для создания проектов, в которых используется TestNG , и второй для проектов, где используется JUnit.

Read more: Быстрое создание Maven-проекта для Selenium-тестов

Интерация JUnit и TestNG со средами разработки IDEA, Eclipse и NetBeans

Через месяц мы запускаем новый онлайн-тренингЭффективное использование TestNG и JUnit, посвящённый тестовым фреймворкам JUnit и TestNG, и чтобы дать представление о его содержимом мы решили опубликовать некоторые фрагменты этого тренинга. Прежде чем запускать тесты, их нужно разработать, и для этого естественно использовать интегрированные среды разработки, такие как IntelliJ IDEA, Eclipse или NetBeans. В этом фрагменте рассказывается о том, как подключить тестовые фреймворки к средам разработки, чтобы можно было в них разрабатывать тесты.

Интеграция JUnit и TestNG со сборщиками Maven, Ant и Gradle

Автор: Баранцев Алексей

Через месяц мы запускаем новый онлайн-тренинг Эффективное использование TestNG и JUnit,, посвящённый тестовым фреймворкам JUnit и TestNG, и чтобы дать представление о его содержимом мы решили опубликовать некоторые фрагменты этого тренинга. Для сборки и запуска автотестов как правило используются специальные программы-сборщики, такие как Maven, Ant или Gradle. В этом фрагменте рассказывается о том, как настроить сборщики для запуска тестов.

Additional information