2015-07-10 1 views
1

Сейчас я использую Robot Framework + Selenium2Library для автоматизации пользовательского интерфейса. Мы собираемся перенести наш пользовательский интерфейс на AngularJS 2.0 после его выхода на рынок.Robot Framework + Selenium2Library с AngularJS 2.0

Значит, любая идея о совместимости Robot Framework + Selenium2Library с AngularJS 2.0?

+0

Посмотрите на https://github.com/Selenium2Library/robotframework-angularjs, он может решить вашу проблему. –

ответ

0

Robot Framework + Selenium2Library практически не зависит от структуры, используемой для создания пользовательского интерфейса. Он должен работать до тех пор, пока ваше приложение основано на веб-интерфейсах и предоставляет способ поиска ваших элементов (ids, css, xpath и т. Д.). Итак, да, вы сможете провести автоматизацию тестирования через пользовательский интерфейс с помощью AngularJS 2.0

2

Я использовал selenium2library с рамкой робота для некоторых веб-приложений, как только мы начали работать с приложением с angularJs, selenium2library представила некоторые проблемы как установочные элементы и определяющие, когда угловая закончила загрузку. Я сделал рытье и узнал extended selenium2library, который был предназначен для поддержки AnugularJs. Таким образом, эта библиотека имеет такие ключевые слова, как «Wait Until Angular Ready» и как таковая, которая делала письменные тестовые примеры такими же легкими, как раньше, с рамками робота и ключевыми словами selenium2library.

2

Итак, любая идея о совместимости Robot Framework + Selenium2Library с AngularJS 2.0?

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

В моем текущем проекте я использую RF для системы, использующей React.js, которая - опять же, «смею сказать» :), еще более экстремальна, делает сумасшедшие вещи на DOM без механизма прямой обратной связи для WebDriver - и У меня нет реальных проблем. Несколько советов из моего опыта до сих пор:

  • ли в значительной степени зависят от Selenium2Library ключевых слов «Подождите, пока элемент *» (видимо, contrains и т.д.). Они опросили DOM каждые 200 мс и предоставят ваши ключевые слова и проведут расследование выполнения - будут продолжаться после того, как пользовательский интерфейс будет реагировать и обновляться в соответствии с операцией. Плюс, они имеют временную привязку и не сработают, если SUT не действуют в соответствии с ожиданиями в течение срока - и это дает вам готовый вариант проверки вашего kw и/или теста на самом деле делает то, что вы ожидаете от них (что естественно необходимо в каждой автоматизированной системе :)

  • Я использую в основном xpath как стратегию размещения (хотя лично предпочитаю css), особенно. после прочтения некоторых ужасных историй о том, как css не соответствует элементам после обновления и т. д. Разница в производительности незначительна - в базовых тестах я не выполнялся, но xpath дает вам другие преимущества - поднимитесь по дереву, найдите элементы по тексту значение ([contains(text(), "text_placeholder")] спас меня много раз с испорченным <div> безумием реакции); другие, о которых я не могу вспомнить сейчас :).

Надеется, что это помогает немного - вы, или кто-либо другие, RF + SE = Авто-зверь :)

0

У меня есть другая стратегия для Robot Framework + AngularJS, но это полезно только потому, что наш робот Код Framework работает в фоновом режиме на виртуальной машине Linux, поэтому скорость не важна.Я использую пользовательский ключевое слово с именем Slow Down используется следующим образом:

Click Element ${THIS_ELEMENT} 
    Slow Down ${SLOW_TIME} 

Поставив это после каждого щелчка и ввода текста (перед каждым нажмите будет работать, тоже), я могу сказать, весь тест, чтобы замедлить чтобы соответствовать скорости браузера с помощью одной переменной. Я обнаружил, что это еще более надежно, чем ключевые слова Wait Until Element * в сочетании с Selenium2LibraryExtended. Нет, я не знаю, почему это так.

 Смежные вопросы

  • Нет связанных вопросов^_^