2009-07-16 6 views
21

Я заинтересован в тестировании пользовательского интерфейса только для приложения Java. Какая самая популярная структура для этого? Какова ваша рекомендуемая структура? Кроме того, почему Селен не делает это (или делает это)? Мне кажется, что все, что может протестировать веб-приложение, должно быть в состоянии проверить приложение Windows.Selenium предназначен для тестирования веб-интерфейса, поскольку ________ - для тестирования пользовательского интерфейса Windows

ответ

12

Попробуйте FEST framework. Это то, что раньше называлось аббатом, если я не ошибаюсь. Я использую это для автоматического тестирования, и это кажется очень простым и удобным. Простые вещи сделаны легкими, и сложные вещи не являются ракетой. Я считал UISpecj4j, но он не устраивал меня, потому что нет технической возможности проверить Drag'n'Drop, пока это необходимо. Кроме того, довольно сложно разрабатывать тесты, когда вы на самом деле не видите, что происходит (UISpec4J использует фальшивый, невидимый look'n'feel)

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

+0

Ссылка не работает. – Noz

+0

@Noz исправлено, спасибо за уведомление. – wax

3

Причина, по которой Selenium не может этого сделать, заключается в том, что он использует Javascript, работающий в веб-браузере, для проведения тестирования. Он моделирует нажатия кнопок, ввода данных и т. Д. Через Javascript. Если Javascript отключен, он не будет работать. А поскольку приложения Swing/AWT не имеют Javascript, Selenium тоже не будет работать над ними.

1

Selenium - это платформа на основе JavaScript, поэтому она может работать только на вещах, которые могут выполнять JavaScript. Браузеры делают это изначально.

Насколько я знаю, на рабочем столе нет действительно тестовой платформы, сопоставимой с Selenium, потому что довольно сложно написать фреймворк, который подключается к ОС как изначально, как Selenium Hooks в браузере. Популярные, не требуются в порядке, QTP, SilkTest, TestComplete

+0

Неверная ссылка на TestComplete. Вот тот, который работает: http://www.automatedqa.com/products/testcomplete/ – user128807

+0

исправил мою ссылку. Я взял его из google search – AutomatedTester

1

uispec4j - альтернатива с открытым исходным кодом. Я еще не пробовал. (В настоящее время я собираю списки вещей, чтобы попытаться, поэтому спасибо, что задали вопрос!)

2

Ответ: «Mercury winrunner», который был чрезвычайно популярен в конце 90-х годов и который, вероятно, все еще широко используется для приложений-победителей.

Не продается как таковой больше, но если я не ошибаюсь, теперь доступен как HP QuickTest Professional. См. wikipedia page on HPQTP.

Его теперь стали HP Unified Functional Testing (UFT) 2

2

Если у вас есть Visual Studio 2010, вы можете также использовать вновь вводимых Visual Studio UI Automation Testing (также известный как Coded UI). Это немного похоже на использование Selenium с ui-картой.

+1

Для этой функции вам нужны VS2010 Premium или Ultimate. VS2010 Professional не включает этот пакет – sweetfa

1

QTP, Silktest - это лучшие инструменты для тестирования пользовательского интерфейса приложения Windows.

0

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

Существует также коммерческая версия с большим количеством функций, но я не пробовал.Версия с открытым исходным кодом отлично подходит для меня.

0

Попробуйте Sikuli

Sikuli это технология родилась в группе MIT UI Design, которая позволяет автоматизировать операции на компьютере с помощью компьютерного зрения. Компьютерное зрение распознает шаблоны из скриншотов графических пользовательских интерфейсов (GUI), а язык сценариев Jython используется для принятия мер над ними. Язык включает в себя графические элементы и лучше всего редактируется с помощью IDE, который поставляется вместе с программным обеспечением. Sikuli может использоваться для автоматизированного тестирования программного обеспечения, например, Selenium используется для управления веб-страницей, он может контролировать практически любой интерфейс, который он может распознать, и нажимать или вводить текст - приложения для ПК (Windows, Mac OS X и Linux) и даже приложение для iPhone или Android, работающее в симуляторе или через VNC.

Вы также можете использовать Sikuli Java API

Sikuli API для Java обеспечивает изображения на основе функциональных возможностей автоматизации GUI для Java-программистов. Он создан и будет активно поддерживаться лабораторией Sikuli. Эта новая библиотека Java имеет перепроектированный API и включает в себя несколько новых функций, которые не были доступны в оригинальном скрипте Sikuli, такие как способности соответствовать цветам, обрабатывать события и находить геометрические шаблоны, такие как прямоугольные кнопки. Кроме того, он имеет значительно упрощенный процесс сборки, основанный на Maven.