Мы доукомплектовали обучающую программу в рамках конференции Selenium Camp 2012, которая пройдет 24 февраля. Добавлен еще один мастер-класс “Selenium против AJAX” от одного из представителей команды разработки Selenium – Алексей Баранцев. Алексей является опытным тестировщиком и тренером, долгое время работает сам и обучает других работе с Selenium. Больше всего они известен по работе над поддержкой и развитием крупнейшего русскоязычного сайта о тестировании Software-Testing.Ru. Что же будет в мастер-классе?

На данный момент мир веб-приложений интенсивно развивается и интерфейс становится все более динамичным. Повсеместно используется асинхронное обновление элементов и AJAX. И такие веб-приложения приходится тестировать с помощью Selenium/WebDriver.

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

При автоматизаци AJAX-приложений проблемы возникают со всеми тремя видами фрагментов.

Во-первых, искать элементы сложно, потому что они как правило имеют динамические локаторы (нет фиксированных идентификаторов или имен).

Во-вторых, спектр возможных действий весьма широк. Это не только клики по ссылкам, как в “традиционных” веб-приложения, но и наведение курсора на элемент, перетаскивание, нажатия клавиш. При этом, даже самое простейшее действие, такое как однократное нажатие клавиши, может вызвать весьма активную реакцию приложения (автопродолжение, горячие клавиши и т.п.)

Ну и самое сложное – это ожидания. Что является признаком того, что некоторое действие выполнилось успешно или неуспешно? Появление или исчезноваение какого-то элемента? Добегание счётчика или прогресс-бара до 100%? Прекращение появления новых строк в загружаемой таблице? Или даже завершение всех асинхнронных xhttp-запросов? А может быть не стоит вообще ждать полного завершения действия, достаточно лишь частичного результата, чтобы уже можно было продолжить выполнение теста?

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

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