Описание проекта и создание файла Feature

Следующий список статей пойдет о написании тестового фреймворка с использованием Cucumber-JVM (http://cukes.info/install-cucumber-jvm.html) с использованием WebDriver для выполнения приемочных тестов веб-приложения. Если команда тестировщиков использует Continuous Integration, то приемочные тесты можно использовать при проверке приложения после unit или integration тестов. Ссылка на скачивание проекта. Будет применено параллельное выполнение тестов. Для запуска тестов вам понадобится Maven (http://maven.apache.org/) и Firefox установленные…

TestNG Asserts

TestNG также позволяет делать дополнительные проверки в средине теста с помощью Asserts.  Asserts являются наиболее популярными и действенными способами при написании Selenium Webdriver тестов. Например, довольно часто приходится делать проверки на наличие элемента. Для этого используют вставки Asserts. Наиболее используемыми Assert вставками являются: 1) Assert.assertTrue() и Assert.assertFalse()  Используем пример предыдущей статьи. Обратите внимание, что Assert true…

Поиск всех ссылок на странице

В автоматизации поиск всех ссылок или других элементов довольно полезное задание. Иногда приходится найти их количество или проверить, что они не битые и не появляется 404 страница. Чтобы собрать массив всех ссылок проделайте следующие шаги: 1) Перейдите на интересующий сайт, например http://autoqa.org/. 2) Создайте список типа WebElement для сохранения всех ссылок. 3) Соберите…

TestNG Framework

TestNG – тестовый framework наряду с JUnit и NUnit, но имеет новую мощную функциональность и более прост в использовании. TestNG – это фреймворк с открытым кодом, где NG в TestNG означает Next Generation (Новое поколение). TestNG похож на JUnit , но намного функциональней него. Он разработан лучше, чем JUnit, особенно, если тестировать вложенные классы. Преимущества TestNG Существует много преимуществ, но…

Выполнение drag-and-drop действий

Selenium WebDriver позволяет выполнять “Drag-And-Drop” действия используя класс Actions. Класс Actions поддерживает выполнение различных пользовательских дейтсвий, таких как автоматизация событий работы с мышкой и клавиатурой. В следующем примере мы рассмотрим пример использования класса Actions для автоматизации операции drag-and-drop. Можно увидеть, что сначала нужно найти элемент, который будем перетаскивать, а потом саму область для перетаскивания. После этого эти элементы передаются в метод dragAndDrop() класса Actions.…

TestNG аннотации, группировка и создание зависимых тестов

Аннотации TestNG В первой статье мы уже рассмотрели некоторые аннотации в TestNG фреймворке: мы использовали только три (Before, After и Test). Они являются наиболее используемыми, но следует рассмотреть остальные. Прежде всего давайте рассмотрим иерархию или уровни аннотаций в TestNG. Можно увидить, что @Test имеет самый нижний уровень . Метод с аннотацией @Method будет выполнен первым, перед и после…

Запуск тестов на нескольких браузерах

Довольно часто приходится проверять кросс-браузерность сайта. В этом уроке будет рассматриваться запуск тестов в Chrome, IE и FireFox для входа в Facebook. Как это сделать… 1) Скачайте драйвер для IE для 32/64 битной системы: http://www.seleniumhq.org/download/ 2) Скачайте драйвер для Chrome: http://chromedriver.storage.googleapis.com/index.html 3) Нажмите правой кнопкой на проект и выберите New –> folder –> назовите ее “Driver”. 4) Разархивируйте и…

Создание тестового скрипта

Для управления тестами будем использовать TestNG. 1) Создайте новый пакет “src/test/java” –> New –> Package –> nи назовите его “com.selenium.test” 2) Создайте новый класс в пакете “com.selenium.test” –> TestNG –> Create TestNG Class. 3) Назовите класс “autoTestFacebook” и выберите опции “BeforeTest”, “AfterTest”. 4) Скопируйте следующий код: 5) Запустите класс: Run…

Создание TestNG Test Suite

В каждом проекте приходится запускать много тестов за одно время. Запуск нескольких тестов называется Test Suite. Причем тесты могут быть взаимосвязанными и быть запущеннымив определенном порядке. TestNG предоставляет такие настройки. Для этого нам прийдется создать дополнительный файл testng.xml. В этом файле Вы можете настраивать запуск тестов, указывать поочередность, добавлять или удалять любой тест,…

Автомаизация действий входа и публикации текста

Большинство приложений имеют часто используемый функционал, например регистрация или вход на сайт. Для таких блоков функционала создаются отдельные методы, которые вызываются в тест-кейсе.  Такая модульность предотвращает дублирование кода. Если в будущем функционал поменяется или разработчики изменят верстку, то нам не прийдется изменять тест-кейс, а нужно будет изменить лишь методы. Как же…