Selenium или Watir для тестирования Javascript в Rails - PullRequest
15 голосов
/ 20 января 2009

Мы используем RSpec и Cucumber в наших приложениях Rails с хорошими результатами. Webrat отлично подходит для не-AJAX-взаимодействий, но мы собираемся вернуться к написанию тестов для нашего Javascript.

В Webrat встроена поддержка Selenium, и мы уже использовали Selenium, но мне интересно, если у кого-то были хорошие результаты при использовании Watir с Cucumber и каковы плюсы и минусы Watir против Selenium.

Ответы [ 9 ]

16 голосов
/ 17 февраля 2009

Как основатель OpenQA и Selenium RC, я, очевидно, склонен к Selenium как хорошему варианту. Недавно мы выпустили версию 1.0 beta 2 и очень близки к финалу 1.0.

Однако вы не могли ошибиться и с Watir / FireWatir. Комментарий Адама о том, что WebDriver объединится в Selenium 2.0, верен, но он неверен, подразумевая, что Watir не использует нативные хуки. Если бы Ватир был просто клоном Selenium и также использовал JavaScript-инъекцию, я бы сказал, что на это не стоит смотреть.

Но поскольку у него есть встроенные хуки, он может делать некоторые вещи, которые Selenium в настоящее время не может. Хотя поддерживается меньше браузеров, в главном браузере, который он поддерживает (IE), он немного углубляется и позволяет вам управлять вещами за пределами страницы / холста.

Подводя итог, можно сказать, что и то, и другое хорошо, а Selenium - это здорово, и если вы немного продержитесь с Selenium, вы скоро получите лучшее из обоих миров с WebDriver / Selenium 2.0.

4 голосов
/ 28 мая 2009

У меня хорошие результаты при использовании Cucumber с Celerity через JRuby.

Celerity - это браузер без головы, который использует HtmlUnit с Watir-совместимым API и поддерживает тестирование JavaScript и AJAX.

Безголовый делает Celerity быстрее и легче интегрируется в цикл сборки Continuous Integration.

Поскольку Celerity совместим с Watir по API, вы можете довольно легко переключаться между Watir и Celerity. Есть некоторые предостережения, но это стоило усилий.

2 голосов
/ 23 января 2009

Возможно, вы захотите попробовать WebDriver . станет частью Selenium в будущем. Работает с JRuby.

Он отличается от Selenium, Sahi или Watir тем, что он изначально контролирует браузер, не использует JavaScript, и не подвержен влиянию многих других проблем.

2 голосов
/ 21 января 2009

Я бы сказал, что Ватир был намного лучше, но менее полезен. В основном это система автоматизации IE с довольно нестабильной поддержкой Firefox. (Я признаю, что не проверял FireWatir некоторое время, возможно, он улучшился.)

Существует экспериментальная поддержка Selenium-RC на Watir. Это определенно будет лучшим из обоих миров.

1 голос
/ 08 сентября 2011

Если вы хотите использовать Watir на Rails 3.

Вы можете использовать камень 'watir-webdriver-rails' (я - создатель).

1 голос
/ 26 ноября 2009

Watir 2.0 также будет использовать WebDriver.

1 голос
/ 21 января 2009

Я пробовал Watir, но не с огурцом. Это было для приложения Java. Проблемы, с которыми мы столкнулись, были при попытке определить, загружена ли страница. Нам пришлось немного почистить форумы, прежде чем найти решения. В противном случае это было хорошо.

0 голосов
/ 15 сентября 2011

Не пропустите что-то вроде QUnit или Jasmine для модульного тестирования вашего javascript. Если ничего другого, это сократит количество тестов с полным стеком, которые вы должны написать в cucumber / selenium / capybara / what

0 голосов
/ 25 января 2011

Лучшее решение, которое я нашел, это Env-Js http://github.com/smparkes/env-js Это как вебрат, но с поддержкой JS

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