{tortags,14,1}

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

В последнее время мне нередко приходится слышать от тестировщиков-автоматизаторов ожидания относительно того, что с выходом Selenium 2.0 выполнение тестов заметно ускорится. Мне тоже хотелось бы на это надеяться. Пока эксперименты показывают обратное -- некоторые операции действительно работают быстрее, но зато другие стали медленнее, так что в среднем ускорения не заметно, а иногда даже наоборот, тесты после перехода на новую версию начинают выполняться дольше. Конечно, может быть чудо случится и Selenium 2.0 действительно будет фантастически быстр, но зачем ждать? Если ваши тесты выполняются слишком долго, можно уже сейчас попытаться предпринять действия по их оптимизации.

Мне приходится время от времени иметь дело с весьма массивными тестовыми наборами, время выполнения которых исчисляется многими часами, а иногда даже сутками. Поэтому я начал постепенно коллекционировать приёмы ускорения тестов. Про некоторые из них я собираюсь рассказать в третьем модуле онлайн-курса "Разработка тестов: Selenium & Java". А ещё я говорил об этом на недавно прошедшей в Киеве конференции SeleniumCamp, и предлагаю посмотреть видеозапись этого выступления, состоящую из двух частей -- теоретической и демонстрационной.

{tortags,18,1}

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

На консультации к тренингу "Программирование для тестировщиков" я пообещал записать небольшую демонстрацию того, как можно смотреть в отладчике Eclipse свойства объектов типа WebElement (в виде таких объектов представляются элементы веб-страницы в Selenium 2.0), а когда записал, решил выложить в открытый доступ, вдруг ещё кому-нибудь окажется полезной эта информация.

Для тех, кто не в курсе небольшое пояснение. Selenium 2.0 использует новый механизм доступа к веб-страницам, с использованием "нативных" интерфейсов. Поэтому объект типа WebElement сам не содержит никакой информации, только некий уникальный идентификатор. А при необходимости вся нужная информация извлекается непосредственно из памяти браузера. Это доставляет определённые неудобства при отладке тестов -- трудно понять, что за веб-элемент перед тобой, если видишь только какой-то идентификатор, состоящий из длиннющей последовательности букв и цифр. К счастью, в среде разработки Eclipse имеется специальный механизм для визуализации таких элементов, именно про него я и рассказал в этом небольшом видеоролике.

{tortags,13,1}

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

Внимание: Эта статья относится к версиям Selenium меньше 2.12, в последних версиях опция --disable-web-security для браузера Chrome установлена по умолчанию.

Недавно ученики моего курса Программирование для тестировщиков пришли ко мне с жалобой – тесты, которые у них успешно выполнялись в браузерах FireFox и Internetr Explorer по непонятной причине падали в браузере Google Chrome. Когда я посмотрел, что происходит, мне показалось, что я вернулся лет на пять в прошлое – налицо были все симптомы проявления same origin policy, с которым давно уже все научились бороться при использовании браузеров Internet Explorer и FireFox.

{tortags,17,1}

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

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

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

{tortags,12,1}

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

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

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

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

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

{tortags,11,1}

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

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

Go to top