Selenium-это тестирование веб-интерфейса, как и тестирование пользовательского интерфейса приложения Windows [закрыто]

меня интересует UI-тестирование клиентского приложения только Java. Какова наиболее популярная структура для этого? Какова ваша рекомендуемая структура? Кроме того, почему селен этого не делает (или не делает)? Мне кажется, что все, что может протестировать веб-приложение, должно быть способно протестировать приложение windows.

11 ответов


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

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


мы используем:TestComplete.


попробовать Abbot Java GUI Test Framework.


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


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


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

больше не продается как таковой, но если я не ошибаюсь, теперь доступен как HP QuickTest Professional. Вижу страница Википедии на HPQTP.

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


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


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

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


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


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

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


попробовать Sikuli

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

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

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