2010-07-11 3 views
3

Я унаследовал приложение окна C#, в котором я не сумасшедший. У меня надвигающийся крайний срок, и я боюсь до смерти, что некоторые из моих изменений могут оказать негативное влияние на существующую функциональность.Автоматизация тестирования Windows GUI - FindWindowEx и классы управления

У меня есть фон с любителями RoR, и я достаточно доволен тестированием в этих рамках (используя RSpec и Cucumber).

Мне нравится иметь тестовые скрипты, которые можно запускать на регулярной основе, и я готов потратить свое личное время на разработку этого проекта. Я купил книгу от PragProg.com по сценарию GUI-тестирования с Ruby (http://pragprog.com/titles/idgtr/scripted-gui-testing-with-ruby). До сих пор я копаю то, что вижу, и думаю, что это будет хорошо работать.

К сожалению, у меня есть фундаментальное отсутствие понимания относительно разработки приложений Windows. Я делаю звонки в FindWindowEx (через Win32API), чтобы «попытаться» восстановить суб-элементы управления в моем приложении.

Большая часть моей путаницы заключается в том, как я должен получить имя класса элемента управления, которое я пытаюсь захватить. Пример, приведенный в тексте следующим образом:

edit = find_window_ex.call @main_window, 0, 'ATL:00434310', nil 

Где @main_window является основным дескриптором окна моего приложения, и "АТЛ: ... это класс области текстового поля. Нет никаких объяснений относительно того, как автор пришел к «ATL: ...».

Я прочитал несколько очень старых сообщений о SPY ++ MS, но они кажутся устаревшими (или по какой-то причине он не был установлен, когда я установил vs2010).

Итак, что для меня лучше всего найти классы управления, которые будут использоваться с вызовом findWindowEx? У меня есть исходный код - я должен оттуда оттуда? Что делать, если у меня нет исходного кода, и я хочу автоматизировать приложение? Есть ли утилита, которая позволяет вам как-то «просматривать» элементы управления в запущенном приложении?

Извините за длину - заблаговременно за помощь! Bob

ответ

0

Лучшее для вас, чтобы установить компоненты, чтобы вы получили Spy ++, это лучший способ узнать, как добраться до фактических имен классов esp. если у вас нет источника исходных элементов управления, которые могут быть из библиотеки или, возможно, некоторых стандартных элементов управления ActiveX, которые отправляет Microsoft.

Название класса ATL, вероятно, относится к элементам управления, разработанным с использованием Microsoft Active Template Library (ATL), это библиотека шаблонов C++, которая значительно упрощает разработку элементов управления ActiveX и объектов COM и т. Д. На C++.

+0

Итак, Spy ++ по-прежнему является действенным инструментом? Отлично. Я вернусь к установщику и узнаю, почему я не получил его с экземпляром 2010 года. Существуют ли какие-либо подобные автономные утилиты, которые будут выполнять одно и то же? - disregard - только что нашел это сообщение: http://stackoverflow.com/questions/1811019/i-want-spy-but-i-dont-have-visual-studio –

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