Selenium или Watir для тестирования Javascript в Rails

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

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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
15
0
7 973
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

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

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

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

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

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

Ответ принят как подходящий

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

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

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

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

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

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

Отсутствие головы делает Celerity более быстрой и легкой для интеграции в цикл сборки с непрерывной интеграцией.

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

Вы также можете использовать его с капибарой, что позволяет легко переключаться между быстротой и селеном. Хорошая статья об этом здесь allenwei.cn/…

Derek Ekins 08.05.2010 15:15

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

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

Как это похоже на вебратку? они кажутся несвязанными.

Steven Soroka 13.09.2011 19:45

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

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

выглядит довольно мило. Я всегда сталкивался с некоторыми проблемами при тестировании интеграции rspec с webrat или capybara. Я проверю гем watir-webdriver-rails.

Homan 20.10.2011 00:27

Спасибо, я использую этот драгоценный камень во всех своих проектах. Я надеюсь, что это принесет пользу и вам.

Tanin 23.10.2011 10:25

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

Другие вопросы по теме