Разделы портала

Онлайн-тренинги

.
Автоматизация тестирования
Selenium: ожидание завершения всех AJAX-запросов
12.01.2011 00:34

Автор: Виталий Помазенков

В последнее время развелось очень много различных AJAX-приложений. По сути автоматизация тестирования такого приложения не отличается от автоматизации тестирования обычного WEB-приложения, но есть несколько тонкостей. Одна из тонкостей — это как раз ожидание завершения всех AJAX-запросов. Например, если отметка некого checkbox'а на странице вызывает обновление какого-нибудь select'a по AJAX-запросу, то тест, который сразу после отметки выбирает конкретный option, свалится, т.к. этого option'a там не будет. А всё потому, что сам тест выполняется намного быстрее чем AJAX-запрос на обновление списка.

В данном случае у автоматизатора есть несколько выходов.

Подробнее...
 
Selenium: Снятие скриншотов веб-страницы целиком
11.01.2011 21:33

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

Эта статья завершает серию, посвящённую снятию скриншотов при выполнении автотестов, разработанных с использованием Selenium и TestNG.

Предыдущие статьи:
Selenium+TestNG: Автоматическое снятие скриншотов при неуспешном прохождении теста
Selenium: Снятие скриншотов на удаленной машине

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

  • средствами только Selenium;
  • с использованием AutoIt и какой-нибудь внешней утилиты снятия скриншотов, умеющей автоматически скроллировать окна.

Первый способ работает как при локальном, так и при удалённом запуске тестов, но поддерживаются только браузеры Internet Explorer и FireFox. Второй способ пригоден только при локальном запуске тестов, а поддержка браузеров определяется возможностями используемой внешней утилиты-скриншотера.

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

Всё нижеописанное в виде исходного кода на языке Java вы сможете найти в приложенном файле, ссылка на который находится в конце статьи.

Подробнее...
 
Selenium 2.0: будущее тестирования веб-приложений
04.10.2010 14:11

2 октября на конференции DevPoint (Новосибирск) Алексей Баранцев выступил с докладом «Selenium 2.0: будущее тестирования веб-приложений».

В конце 2010 года ожидается выход новой версии популярного инструмента автоматизации тестирования веб-приложений Selenium 2.0. Новая версия обещает улученную поддержку современных AJAX-приложений, увеличение скорости выполнения тестов, преодоление имеющихся в Selenium 1.0 ограничений, таких как невозможность работы с “нативными” диалогами.
Однако я собираюсь рассказать не только и не столько про эту новую версию (хотя без этого, конечно, не обойтись), но и вообще про всю ту инфраструктуру, которая сложилась вокруг этого замечательного фреймворка и продложает активно развиваться.
Говоря про “дваноль” я имею в виду совершенно уникальный для инструментов тестирования феномен – перерастание отдельного фреймворка в целое созвездие взаимно поддерживающих друг друга инструментов, появление множества маленьких и средних компаний, предоставляющих платные и бесплатные сервисы с использованием этих инструментов. Модульная расширяемая архитектура Selenium позволяет говорить о нём не как о фреймворке, а как о модульной платформе, на базе которой или из частей которой строятся другие инструменты.
Да, а что там про будущее тестирования веб-приложений? Мне кажется, что именно тот путь развития, по которому движется Selenium, является наиболее перспективным, потому что он обеспечивает отличную питательную среду для развития как самого фреймворка, так и сопутствующих инструментов. Залог выживания – в сотрудничестве!

Запись выступления

 
Ожидание событий в Selenium RC, часть 2 -- AJAX
18.08.2010 09:16

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

В предыдущей заметке мы сделали расширение Selenium RC, упрощающее операции, связанные с ожиданием загрузки страниц веб-приложения. Но те, кто занимается тестированием AJAX-приложений, с этими операциями сталкиваются редко, им приходится работать с другими событиями – появление и исчезновение элементов интерфейса, а также изменение их свойств (таких как, например, видимость или цвет). Поэтому сейчас мы добавим в наше расширение набор операций, предназначенных для ожидания таких событий.

Подробнее...
 
Ожидание событий в Selenium RC, часть 1
11.08.2010 17:00

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

Оставим на время в стороне тему снятия скриншотов в Selenium, поговорим об ожидании тех или иных событий, то есть о методах, название которых содержит слово wait. В этой заметке мы сделаем расширение стандартного класса DefaultSelenium, которое облегчит работу с классическими (не-AJAX) приложениями, сократив количество рутинного кода, предназначенного для ожидания загрузки страниц.

Подробнее...
 
Selenium: Снятие скриншотов на удаленной машине
05.08.2010 17:22

Selenium Logo

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

В предыдущей статье я рассказал о том, как автоматизировать снятие скриншотов при неуспешном прохождении теста, используя TestNG и Selenium RC. Для этого был разработан класс ScreenshotListener, который подключался к тестам при помощи аннотации @Listeners. Но реализация этого класса предполагала, что тесты выполняются на локальной машине, и скриншот снимался на ней же. В этой статье будет предложена альтернативная реализация, позволяющая снимать скриншоты как локально, так и удаленно. Кроме того, я расскажу о том, какие могут возникать проблемы при удаленном снятии скриншотов и как с ними бороться.

Подробнее...
 
Selenium+TestNG: Автоматическое снятие скриншотов при неуспешном прохождении теста
11.07.2010 13:44

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

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

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

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

Подробнее...
 
Внедрение автоматизации тестирования ПО на уровне проекта
20.05.2010 15:19

Автор: Алексей Ракицкий – ведущий специалист по автоматизации функционального и нагрузочного тестирования ПО Qulix QA.
Оригинал: http://www.qa.qulix.ru/knowledge/articles-automation.php

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

Статья посвящена рекомендациям по наиболее безболезненному варианту внедрения автоматизации тестирования на уровне проекта в случае, если это направление в целом не развито в компании – производителе ПО.

Подробнее...
 
Автоматизация приёмочного тестирования или FitNesse для повышения качества программного продукта
02.03.2010 11:35

Автор: Андрей Гридин

Качество программного продукта не в последнюю очередь зависит от актуальной документации и тщательного тестирования. Хотелось бы осветить вопрос разработки и тестирования ПО вообще и с использованием среды FitNesse в частности.

Intro

Когда говорят о тестировании ПО, чаще всего подразумевают тестирование, выполненное после того, как изрядное количество кода написано и возникает необходимость проверить «а то ли написали, что хотели».
Понятно, что покрытие кода тестами, виды и продолжительность тестирования зависят от многих факторов, но в данном случае следует упомянуть именно о модульных тестах и о приёмочных тестах.
Если модульное тестирование выполняет обычно тот, кто пишет тот или иной кусок кода, то приёмочное тестирование, как правило, выполняет заказчик. И тут уже всё зависит от того, насколько высоки требования заказчика (и, что немаловажно, то насколько он способен качественно тестировать принимаемый им готовый продукт).
Так вот, модульные тесты обычно автоматизированы по выполнению (они один раз пишутся и много раз прогоняются в автоматическом режиме).
А приёмочные тесты обычно медленно прогоняются в ручном режиме и постоянно изменяются и обычно достаточно редко фиксируются на бумаге.
К чему все эти разговоры про тестирование? Правильно организованный процесс тестирования создаваемого программного продукта в конечном счёте позволит сэкономить деньги и время на устранении ошибок, и более того увеличить прибыль от хорошей репутации компании.

Подробнее...
 
Обзор Lightweight Test Automation Framework
12.12.2009 00:42

Автор: Сычев Игорь

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

В продолжение своего изучения инструментов тестирования для .Net приложений, хочу рассказать о Lightweight Test Automation Framework (LTAF). LTAF — это фреймворк для регрессионного тестирования web приложений Asp.Net, с открытым исходным кодом, созданный QA Team. На русском языке я не нашел никаких материалов о нем, поэтому решил написать эту обзорную статью.

Подробнее...
 



Страница 38 из 40