Инструмент веб-автоматизации - PullRequest
2 голосов
/ 28 марта 2010

Я понял, что мне нужен полноценный инструмент автоматизации браузера для тестирования взаимодействия пользователей с нашей библиотекой виджетов JavaScript. Я использовал qunit, начиная с модульного тестирования, а затем неразумно начал включать все больше и больше функциональных тестов. Это была плохая идея: пытаться симулировать множество действий пользователя с помощью JavaScript. Проблемы времени вышли из-под контроля и сделали набор слишком хрупким. Сейчас я трачу больше времени на исправление тестов, чем на разработку.

Можно ли найти инструмент автоматизации браузера, который работает в: Windows XP: IE6,7,8, FF3 OSX: Safari, FF3

  • Я изучил SeleniumIDE и RC, но, похоже, есть некоторые проблемы с IE8.

  • Я также видел кое-что о WebDriver от Google, который, кажется, сбивает с толку работу с Selenium.

  • Наша организация имеет лицензии на IBM Rational Functional Tester, но я не думаю, что это будет работать на MAC.

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

Спасибо!

Ответы [ 7 ]

4 голосов
/ 28 марта 2010

Я бы порекомендовал использовать Selenium, но я говорю это как Selenium Committer.

Selenium работает в любом браузере, поддерживающем JavaScript, поскольку среда написана на JavaScript. Это означает, что если ваш браузер в любой ОС поддерживает JavaScript, он будет работать в Selenium. Эта документация устарела, вы можете видеть, что, поскольку речь идет о IE8b1 и IE9, предварительный просмотр уже вышел.

Selenium и WebDriver (который не принадлежит Google с момента его создания в ThoughtWorks) в настоящее время объединяются, поскольку у них обоих есть свои сильные и слабые стороны. Текущая объединенная работа будет называться Selenium 2, и вы можете начать использовать альфа-версию сейчас с http://code.google.com/p/selenium/.. Она по-прежнему будет работать на любой ОС, поскольку она по-прежнему является главной движущей силой выполняемой работы.

Selenium IDE работает только в Firefox, потому что это дополнение к Firefox.

Лично я бы избегал Rational Functional Tester, потому что у него много недостатков, которые даже не стоит рассматривать.

Если вы начнете с Selenium, на моем сайте есть несколько руководств по адресу http://www.theautomatedtester.co.uk

2 голосов
/ 24 апреля 2010

Попробуйте Sahi (http://sahi.co.in/). Он работает во всех браузерах и операционных системах. Имеет мощный регистратор и великолепные API для идентификации объектов. Он поддерживает HTTPS, туннелирование через прокси и т. Д. И имеет драйверы в сценариях Sahi, Java и ruby. Он также имеет встроенное параллельное воспроизведение. Это 5-летний зрелый проект, размещенный на SourceForge, с выпусками почти каждый месяц.

Он автоматически ожидает загрузки AJAX и страницы и не использует XPath для идентификации объекта. Он также обрабатывает сайты с динамическими идентификаторами.

1 голос
/ 29 марта 2010

Selenium RC - отличный инструмент, если вы потратите время на его использование. Со значительными изменениями в существующей библиотеке, я получил ее, чтобы выполнить все мои потребности тестирования внешнего интерфейса.

Запутанность, которую вы испытываете по поводу Webdriver, понятна. Selenium 2 находится в разработке и будет объединением Webdriver и Selenium. Проверьте: http://www.youtube.com/watch?v=RQD4EzWI4qk, чтобы получить более подробную информацию.

Единственный браузер, который я нашел непригодным для использования с Selenium, - это IE6. IE7 и IE8 работают нормально, как и Firefox (который я изменил, добавив в него отладку для отладки).

1 голос
/ 28 марта 2010

Selenium - это, вероятно, ваша лучшая ставка из упомянутых вами инструментов. Какие у него проблемы с IE8? Возможно, вы захотите проверить HttpUnit и посмотреть, соответствует ли это вашим потребностям.

0 голосов
/ 01 апреля 2010

Итак, я написал некоторые из моих более проблемных тестов в Selenium RC, используя драйвер Python. Это был лучший опыт, чем написание тех же тестов на чистом JavaScript, но у меня все еще были некоторые проблемы.

Тестирование чего-то вроде виджета автозаполнения ajax означало разветвление некоторого кода в зависимости от IE или Firefox, и я до сих пор не могу заставить typeKeys или комбинацию type с typeKeys работать в Safari.

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

Стоит ли попробовать webdriver / Selenium 2? Будет ли это лучше, или этот продукт еще не готов к прайм-тайм? Как Python привязка для этого? Я не знаю Java, но я бы выучил немного, если это будет необходимо.

0 голосов
/ 28 марта 2010

Может быть, посмотрите на SIKULI . Это другая парадигма, но, в зависимости от того, что именно вы хотите протестировать, она может выполнять свою работу и будет работать с любым браузером на любой платформе. Загляните в их официальный блог , где приведены примеры взаимодействия с веб-приложениями.

0 голосов
/ 28 марта 2010

Я в одной лодке. Это сложная проблема для решения. Ветряная мельница и Селен - 2 лучших, которые я нашел. Хотя у них обоих есть проблемы. Selenium может записывать только скрипты в Firefox, и мне не удалось заставить цепочку прокси работать так, как рекламируется. Windmill вы можете записывать в любом браузере, и вы можете настроить прокси-сервер, чтобы добавить дополнительную логику, но механизм js для записи при загрузке страниц был, по моему опыту, очень хрупким, по крайней мере, в приложении, которое я тестировал.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...