Фреймворки и инструменты для тестирования пользовательского интерфейса веб-приложений на основе ExtJS - PullRequest
2 голосов
/ 30 марта 2012

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

Я провел онлайн-поиск, но не смог найти ни одной рекомендации для хорошей платформы, которая бы правильно с ним справилась.

До сих пор мы использовали WatiN для создания тестов.

Обратите внимание, что у нас нет кода веб-приложения.

Какие лучшие варианты доступны в настоящее время?

Ответы [ 6 ]

5 голосов
/ 29 июня 2012

Вам стоит взглянуть на использование Siesta, это инструмент для модульного тестирования и функционального тестирования, разработанный для того, чтобы помочь вам протестировать Ext JS и Sencha Touch (и он также используется Sencha для внутреннего тестирования Ext JS). Поскольку Siesta много знает о Ext JS, вы можете написать выразительные тесты, используя Component Query вместо CSS, и получить гораздо более надежный тест по сравнению с более простыми инструментами, описанными в других ответах в этой теме. Вот пример тестового сценария на простом JS:

t.chain(
    { click : ">>textfield[name=user]" },

    { type : "Mike[TAB]Password" },

    { click : ">>button[name=loginbutton]" }
);

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я работаю в компании, которая его создала.

http://www.bryntum.com/products/siesta/

3 голосов
/ 02 апреля 2012

Вы хотите провести прямой функциональный тест своей веб-страницы или хотите сузить свои тесты специально для JavaScript в ExtJS?

Если это первый (функционал на уровне пользовательского интерфейса), тоWatiN / Watir / Webdriver должен работать на вас.(Если они не работают, то я хотел бы получить больше информации о конкретных проблемах, с которыми вы сталкиваетесь.)

Если это последнее, то вы можете исследовать Jasmine, который дает множество интересных возможностей вокругмодульное тестирование вашего JavaScript на уровне пользовательского интерфейса.

(Если это функциональное тестирование, вы также можете проверить Telerik's Test Studio на предмет функциональной автоматизации. Я - евангелист этого инструмента, поэтому яЯ немного предвзятый ...)

2 голосов
/ 29 июня 2012

Вы можете посмотреть на RIATest .

Версия 5.0 полностью поддерживает тестирование ExtJS. Виджеты пользовательского интерфейса ExtJS являются гражданами первого класса в RIATest. Это означает, что в отличие от других инструментов тестирования HTML, вам не нужно писать тесты, которые манипулируют элементами HTML DOM. Тесты в RIATest работают в терминах виджетов ExtJS UI.

Примеры скриптов RIATest, которые работают с виджетами ExtJS:

Следующие нажатия на кнопку ExtJS с надписью «Следующая страница»:

ExtButton("Next Page")=>click();

И следующее выполняет перетаскивание строки из одного дерева ExtJS в другое:

ExtRow("Controller.js")=>dragAndDropTo(ExtTreePanel("#tree2")->ExtRow("Custom Ext JS"));

И это сворачивает заголовок окна ExtJS:

ExtBox("Feeds")->ExtHeader("FeedsВ")->ExtCollapser()=>click();

(Весь приведенный выше пример кода взят из реальных тестовых сценариев, запускаемых в образцах приложений ExtJS).

RIATest также знает, когда автоматически ожидать завершения ExtJS AJAX, поэтому, если ваш пользовательский интерфейс выполняет загрузку динамического содержимого, тесты автоматически ожидают получения данных с сервера.

(Отказ от ответственности: я являюсь членом команды RIATest).

1 голос
/ 06 апреля 2012

Sahi - инструмент автоматизации и тестирования, который я недавно обнаружил, потому что я нахожусь в поиске, похожем на вас ... Selenium не работает для меня (как и для многих в Интернете ... не нашел ничего, чтобы сделать это) работа ... динамические идентификаторы и другие связанные с Ext особенности связывают это с очевидностью) ...

взгляните на сахи, может быть, это будет полезно ... www.sahi.co.in (я не имею отношения, я обнаружил это недавно и нашел это полезным).

0 голосов
/ 08 июля 2014

Ranorex также может работать с Ext-J, хотя для превращения его в первоклассных граждан потребуется некоторое специальное кодирование.В общем, секрет заключается в том, чтобы избежать использования идентификаторов для распознавания объектов, так как они меняются и вместо этого используют свойство innertext.

0 голосов
/ 30 марта 2012

Вы хотите сделать функциональное тестирование. Селен - хороший выбор.Он имеет реализации API на множестве языков (Java, Ruby, Python) и использует Webdriver под одеялом.

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