Инструмент автоматизации тестирования / библиотеки / фреймворк для приложений C ++ для рабочего стола с графическим интерфейсом - PullRequest
8 голосов
/ 12 мая 2011

К сожалению, у меня есть настольное приложение с графическим интерфейсом, работающее в Windows и скомпилированное с использованием компилятора Borland C ++. Я знаю, что это очень старая технология, но это жизнь. Компания, в которой я работаю, имеет много бесплатных лицензий на QTP. Но, честно говоря, мне не нравится этот инструмент, и я хочу изменить его на альтернативу с открытым исходным кодом.

У меня есть опыт работы с веб-службами автоматизации, использующими Selenium, и некоторые java-апплеты. Я создал свои тесты на основе Java / JUnit. Мне интересно, могу ли я создать несколько тестов в Java для тестирования моего приложения на C ++ - это было бы здорово. Если это невозможно, могу ли я использовать любые библиотеки C / C ++ для создания собственной тестовой среды.

Это не должно быть юнит-тестами. Я хочу создать скорее набор функциональных тестов. Я хочу иметь возможность локализовать объекты, такие как кнопки, таблицы, ячейки и т. Д., Выполнять такие действия, как нажатие, изменение фокуса и т. Д.

Кроме того, у меня есть доступ к источнику. Но это скорее старый код для спагетти, и я не особо разбираюсь в приложениях на C ++.

Что вы предлагаете?

Ответы [ 4 ]

5 голосов
/ 12 мая 2011

Мы используем Sikuli и были вполне довольны этим.Он работает за пределами различных API-интерфейсов автоматизации, поэтому отлично справляется с нестандартными пользовательскими интерфейсами.

5 голосов
/ 12 мая 2011

Инструменты с открытым исходным кодом

Белый - это инструмент автоматизации пользовательского интерфейса на основе .NET, который может автоматизировать приложения win32 среди других типов.Пока элементы управления, используемые в вашем приложении, предоставляют доступ к своему контенту / поведению с помощью стандартных хуков Windows UIAutomation, тогда вы сможете использовать его для выполнения своих задач.

UIAutomation Verify - это еще одинПроект CodePlex, который работает с теми же API-интерфейсами для автоматизации UIA-совместимых интерфейсов.

Visual Studio

Наконец, если у вас есть доступ к нему, Visual Studio 2010 имеет функцию тестирования пользовательского интерфейса со сценариями.встроенные версии Premium / Ultimate - кодовые тесты пользовательского интерфейса .Это поддерживает .NET, нативные и веб-приложения с возможностью записи / воспроизведения и сценариев.

1 голос
/ 13 августа 2013

Я согласен с Робертом в том, что QTP иногда не самый лучший инструмент, особенно если вы хотите, чтобы он ждал, пока настольное приложение завершит свою обработку.Команды QTP не являются синхронными, это означает, что QTP не ждет, пока предыдущая команда завершит выполнение, прежде чем перейти к следующему вызову.У нас было много проблем с этим.Теперь мы планируем написать ac # dll, который может сделать это для QTP, и включить его в наши программы QTP, чтобы заставить QTP динамически ждать, пока приложение Desktop не завершит свою обработку.В настоящее время, насколько мне известно, такие функции ожидания не поддерживаются QTP.

Кроме того, возвращаясь к проблеме распознавания объектов, у нас было много проблем с этим и мы выбрали альтернативный способ вызова команд с использованием Mnemonics через нажатия клавиш в QTP.Как уже упоминал Саймон, это может быть связано с отсутствием элементов GUI.У нас не было особого контроля в этом отношении, и поэтому мы больше не расследовали это.

0 голосов
/ 12 мая 2011

Роберт, если у вашей компании уже есть лицензии QTP, я предлагаю вам использовать это. Это правильный инструмент для работы, и нет смысла изобретать велосипед, если ваша компания уже им владеет. У него есть свои плюсы - мои главные возражения против ограниченного языка сценариев IDE и VBScript - но он не стал лидирующим на рынке инструментом случайно. Существует не так много вариантов с открытым исходным кодом для тестирования приложения с графическим интерфейсом Windows C ++. Основными коммерческими вариантами, которые вы должны рассмотреть, являются HP QTP, IBM Rational Functional Tester и VS2010 Coded UI Tests.

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