Тестирование веб-приложения "Dojo" с помощью Selenium
Кто-нибудь сделал некоторую обширную автоматизацию с помощью Selenium и Dojo - тяжелого веб-приложения? Я ищу любые проблемы или проблемы, с которыми вы могли столкнуться, или проблемы, связанные непосредственно с комбинацией Selenium и Dojo.
Ответы
Ответ 1
Я широко использовал Selenium с множеством различных веб-приложений, в том числе несколькими на Dojo. Тебе все должно быть хорошо. Одна из рекомендаций, которую я бы рекомендовал, - убедиться, что все компоненты, которые вы будете тестировать (как элементы управления пользовательского интерфейса, которые вы будете управлять, так и текстовые компоненты, которые вы будете читать для тестирования), установлены идентификационные метки. У Selenium есть куча элегантных селекторов, чтобы получить нужные элементы, но выбор по ID по-прежнему остается лучшим. Другие методы могут быть более хрупкими.
У меня были некоторые сложные эксперименты с Selenium RC, которые не были совместимы с моим кодом как Selenium IDE, до такой степени, что я прекратил использовать Selenium RC. И если вы не знакомы с Selenium, вы должны знать, что он не поддерживает некоторые (IMO) довольно фундаментальные функции, такие как управление потоком и включает в себя; но есть расширения пользователя для фреймворка, которые позволяют это. Я также рекомендую взглянуть на Watir, который я теперь предпочитаю в отношении Selenium, потому что он предоставляет полную мощность/гибкость языка первого класса (Ruby).
Ответ 2
Сейчас я работаю над Dojo -heavy app, и я делаю ряд тестов с Selenium IDE. Я столкнулся с несколькими проблемами с определенными элементами Dojo, такими как выпадающие меню и вкладки. Я научился ценить XPath и экспериментировал с командами clickAt и waitForElementPosition, которые, похоже, помогают вместить некоторые из функций Dojo.
Ответ 3
Dojo особенности - очень короткие
Сам Dojo отличается некоторыми подходами от других тяжелых DOM и широко впечатляющих фреймворков (таких как ExtJS, jQuery, YUI).
В общем случае Dojo он ограничивает ограничения с помощью Flash (также делает YUI) или Silverlight.
Вот пара сценариев, когда Dojo может использовать Fash:
-
браузер не HTML5, а javascript нуждается в локальном хранилище. Затем Dojo будет использовать "Flash Cookie" Flash Local Shared Objects (пакет dojox.storage)
-
нужна поддержка междоменных вызовов https.
Общие трюки, которые могут превратить ваше тестирование в нечто сложное:
-
сообщения обозревателя, такие как "вы хотите разрешить этот сайт..."
-
Вложенные кадры могут сделать выбор node трудным
-
Время ожидания/интервалы javascript, которые они могут работать с другой скоростью в Selenium, затем в реальном браузере. Да, они могут.
Ответ 4
Самая большая проблема, с которой я столкнулся, заключалась в том, что меню dojo и всплывающие элементы пользовательского интерфейса в целом абсолютно позиционируются как дочерние элементы элемента body
и не являются дочерними элементами элемента, который их создает.
Это может повлиять на то, как вы пишете Selenium CSS Selector и, в моем случае, немного сложнее автоматически обрезать снимок экрана, включающий меню и его выпадающее меню.
Ответ 5
Selenium должен быть в порядке с dojo, потому что он отображается в Firefox, а не на нем. Просто убедитесь, что dojo доступен при тестировании (т.е. Не подключайтесь к Google Cdn, если в тестовой среде нет подключения к Интернету). Но это проблема, с которой вы столкнулись бы с любым внешним ресурсом
Ответ 6
У меня нет опыта, но я видел http://www.ibm.com/developerworks/opensource/library/os-webautoselenium/index.html обсуждение вопроса о том, как использовать Selenium с dojo
Ответ 7
Если вам нужно протестировать среду SSL и использовать Selenium RC trustAllSslCertificates + proxy, вы должны убедиться, что все ваши JS файлы размещены в одном домене. Недавно я видел проблемы с использованием CDN для загрузки файлов JS и изображений при тестировании в последних версиях Firefox и selenium rc