2010-01-20 3 views
1

я пытаюсь автоматизировать графический интерфейс в C# .о это же, как и автоматизация браузера .как я могу начать автоматизации пользовательского интерфейсас автоматизацией # щий

+2

Пожалуйста, перефразируйте вопрос. – Bobby

+2

Вы на самом деле имеете в виду анимацию UI *? Или, возможно, вы пытаетесь внедрить автоматизацию для тестирования пользовательского интерфейса? Пожалуйста, добавьте еще несколько деталей. – Ash

+0

Возможный дубликат (но еще не полностью ответил): http://stackoverflow.com/questions/2052915/whats-a-good-if-any-net-windows-automation-library – Abel

ответ

3

Вы можете использовать Microsoft UI Automation, но это не очень весело. "Белый" является лучшей альтернативой ... см: http://www.codeplex.com/white

EDIT:

Новый URL для проекта "Белый", как это было перемещено в TestStack на GitHub: https://github.com/TestStack/White

+2

почему это лучше? разве он не мертв? (Я не вижу никаких обновлений после версии 0.21) –

+0

Тесты, написанные с использованием Microsoft UI Automation, являются подробными, а тем более с White. И я не думаю, что он мертв, он просто делает то, что 99% людей хотят этого сделать.Нет никакого смысла в том, чтобы свернуть код, чтобы проект выглядел живым ... –

+0

, если что я делаю, это не про тестирование, а больше о подключении к другим окнам для целей автоматизации, а мой код довольно общий (мне нужно поддерживать много разных приложения), тогда Белый не был бы хорошим выбором, не так ли? Насколько я понимаю, МАУ является более общим и, следовательно, многословным, тогда как белые используют более понятный и понятный синтаксис, но менее приспособлены к созданию общего кода? –

5

Если вы используете WPF, Microsoft имеет очень подробную библиотеку UI Automation.

http://msdn.microsoft.com/en-us/library/ms747327.aspx

Я посмотрел вокруг, но я не мог найти эквивалент для WinForms.

+0

Очень интересно, я не знал об этом. Существуют некоторые сторонние инструменты тестирования, которые позволяют использовать некоторую автоматизацию пользовательского интерфейса с Winforms, Ranorex (http://www.ranorex.com) - это один. –

1

WiPFlash хорошо, легко использовать оболочку с открытым исходным кодом поверх библиотеки автоматизации пользовательского интерфейса Microsoft. Но они ограничены базовой структурой Microsoft Automation.

0

http://msdn.microsoft.com/en-us/library/ms747327.aspx, как указано в Alastair Pitts. Насколько мне известно, это должно быть хорошо для любых задач автоматизации - пока Windows распознает элемент управления, который ваше приложение использует в качестве стандартных элементов управления или элементов управления, которые поддерживают автоматизацию. Что должно быть справедливо для всех крупных поставщиков контроля. И defnitely MFC, Win32, WinForms и, возможно, WPF и Silverlight.

Вы можете получить представление о том, чем вы занимаетесь (против), открыв Spy ++ и взглянув на то, что он отображает.

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

0

Будьте осторожны, если ваш GUI использует любые сторонние элементы управления Windows, такие как элементы управления Devexpress или элементы управления Telerik.

MS UI Automation может столкнуться с трудностями в поиске этих фантастических сеток, прекрасных меню и симпатичных икон.

Говоря о TestStack.White, он использует MS UI Automation в качестве краеугольного камня, поэтому ему придется столкнуться с той же проблемой, что и поиск подробных элементов GUI.

Вы узнаете, когда вам нужно манипулировать сеткой по строке, но UI Automation или TestStack.White может в наибольшей степени вернуть вам объект таблицы, тогда вы найдете свои усилия R & D до начала проекта, все были потрачены впустую. Вот как я узнал этот урок, но теперь я эксперт.

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