AT.info ПОСИДЕЛКИ  vKontakte   facebook группа  
Что тестировщик не умеет, а автоматизатор должен знать?
view counter
Ищешь как решить проблему с Selenium?! Спроси людей. Они все знают!
view counter
Selenium RC

Основные команды в Selenium IDE / RC

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

Базовую информацию о инструментах автоматизации Selenium вы можете получить перейдя по этой ссылке.

В Selenium существует три типа команд:

  • Действия – функциональное действие над тестируемым веб-приложением в браузере. Например, заполнение полей, нажатие на кнопку и другие;
  • Проверки – выполнение проверок на тестируемой странице. Например, проверка того, что определенное поле формы имеет указанное значение, или проверка заголовка окна;
  • Ожидания – организация как, сколько и какое событие Selenium будет дожидаться (ожидания загрузки страницы, ajax и т.д.).

Как открыть вкладку в браузере?

Всем привет.

Скажите пожалуйста, кто знает, можно ли используя селениум открыть новую вкладку в браузере.

Если можно, то как?

Проблемы выполнения тестов Internet Explorer

Приглашаю всех писать о свих проблемах при запуске тестов в IE, при условии что в других браузеров все работает.

У меня проблема с командой waitForTextPresent: он ждет сообщения об успешном выполнении команды; текст, в общем-то грузится и даже не очень долго, но Selenium все равно ждет 30 секунд, потом говорит что не долждался. И в общем-то даже есть чем заменить команду, но интересно разобраться в чем же проблема. Запускаю я -htmlsuite.

Проблема с русскими локаторами в интерактивном режиме

Проблема, как я понимаю, с кодировкой.

Вот что я набираю:

cmd=type&1=//td[contains(text(),'Пароль')]/following-sibling::td/input&2=a9e078c

Вот что получаю:

at.info workshop #3: отчет

Очень насыщено провели третий воркшоп. Бурный интерес вызвала тема Selenium + Java + Оптимизация, так что группа была собрана в полном объеме. Открыли встречу, классически, с 5% теории, а остальное время - 95% была практика, практика и только практика. Мы продолжали автоматизировать систему для управления проектами Redmine, по заранее подготовленным тестовым сценариям. 

В итоге, что мы сделали:

  • Написали первый тест в Selenium IDE
  • Перенесли HTML тест в Java jUnit-4
  • Повторили основы ООП
  • Научились использовать средства рефакторинга средствами Eclipse IDE
  • Сделали реюзабельностей объектов и функций
  • Написали еще один тест в Java
  • Объединили тесты в Suites
  • реализовали запуск Selenium RC сервера из Java кода.

Приемочное тестирование приложения CherryPy с Robot Framework

Недавно я получил Python Testing Cookbook, автором которой является Greg L. Turnquist и с радостью прочитал «рецепты» приемочного тестирования с использованием Robot Framework. На работе мы используем этот инструмент уже несколько недель, и, хочу сказать, результаты просто отличны. Грег показывает как тестировать веб-приложение, используя расширение библиотеки Selenium для Robot Framework и я думаю будет интересно продемонстрировать как протестировать приложение CherryPy, следуя его рецепту. Итак, начнем.

Во-первых, несколько требований:

$ mkvirtualenv --distribute --no-site-packages --unzip-setuptools acceptance
(acceptance)$ pip install cherrypy
(acceptance)$ pip install robotframework
(acceptance)$ pip install robotframework-seleniumlibrary

Проводим тесты JUnit параллельно

Если вы используете тесты Selenium или другие тесты на основе JUnit, для проведения которых необходим длительный период времени и немного ресурсов ЦП, однажды вы захотите сделать так, чтобы их можно было проводить одновременно. Хорошая новость в том, что это очень просто сделать, используя Apache Ant.

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

Вот как это можно сделать:

Повторное использование Selenium и UnitTest (Python)

Вчера на работе, один из ребят из команды контроля качества подошел ко мне с вопросом, который оказался намного интереснее для меня, чем он изначально планировал (я так думаю). Он проводил тестирование элементов, используя Selenium, экспортируя тестовые случаи в Python. Итак, вопросом, который он задал, было: как я могу проганять один и тот же юнит тест для нескольких браузеров и нескольких целевых серверов?

Я просто уверен, что он ожидал получить простой ответ с алгоритмом из трех шагов, или что-то вроде этого. Вместо этого он увидел мои сумасшедшие глаза и вид, говорящий "оооо… это то, с чем я хочу поэкспериментировать!". Я начал молоть какой-то вздор о наследовании свойств, динамическом создании классов и продолжал «петлять» дальше. В его глазах появилось беспокойство. На самом деле ему не слишком понравились мои заумные рассказы. Я сказал ему присаживаться в кресло и устраиваться поудобнее.

Так как у меня уже была некоторая работа, которую необходимо было сделать, мне не хотелось тратить много времени на поиски оптимального способа решения этой проблемы. Через 20 минут поисков в документации по Python я пришел к следующему коду:

Проводим тесты с Selenium без X11

Так как написание тестов с zope.testbrowser иногда может проходить не слишком гладко, не так давно Christian Zagrodnick подсказала мне еще раз взглянуть на Selenium. Selenium  запускает предварительно записанные тесты или скрипты со сценарием для тестирования вашего веб-приложения в браузере: например, кликните тут, проверьте присутствуют ли слова ‘hello world’, кликните там и так далее. Это как вести автомобиль, не держа руки на руле. 

Сейчас я припоминаю, что уже использовал Selenium раньше, но:

  • Его установка была сплошным расстройством, особенно это касалось работы с Plone TestCase
  • Установить его в непрерывной комплексной среде также составляло непростую задачу.

Мотивация

После начала использования Plone 4,  нового компонента контрольных примеров , написание тестов для пакетов Plone стало намного проще. Пакеты gocept.selenium создают для Selenium славную совместимую «упаковку» и предоставляют классы тестов для тестов Zope2, Plone и Zope3. В результате, установка и поддержка тестов с Selenium стали также намного проще.

Единственной недостающей деталью была непрерывная интеграционная среда. Я провожу все тесты всех пакетов, которые я разрабатываю на Mooball в Hudson беспрерывно. Возможность также проводить и все тесты Selenium была бы огромным плюсом. Но, без Х сервера, вы не сможете запустить браузер, который необходим для проведения тестов.

Мне не понравилась идея устанавливать полную X среду на мой CI сервер, поэтому я хорошенько поискал и нашел эти статьи, в которых рассказывается, как проводить тесты с Selenium без необходимости устанавливать полный X сервер:

Есть и другие, но именно эти помогли мне начать.

RSS-материал
© 2009-2010 Портал для автоматизаторов тестирования ПО
Автор проекта Поляруш Михаил | При использовании материалов ссылка на www.automated-testing.info обязательна.
Все замечания и пожелания присылайте на webmaster@automated-testing.info.
Кроссовки для стритбола купить в Москве . сериалы онлайн . Вам срочно нужна Повязка на голову.Скоро лнто наступает.
Яндекс.Метрика