Подход к тестированию графического интерфейса с использованием MS TEST / Coded UI в VS2010

Я просто приступаю к тестированию приложения с тяжелым графическим интерфейсом, написанного на C ++ (MFC) и C # (WinForms, WPF). Я немного поиграл с тестами закодированного пользовательского интерфейса, и я доволен тем, что вижу. Проблема в том, что моя программа нетривиальна, поэтому у меня она не работает по 2 причинам:

Кодированный тест пользовательского интерфейса VS 2010 - запуск указанного приложения

  • Есть 3 программы, которые нужно запустить в определенном порядке, и мне нужно войти в одну из них. Время важно; Мне нужно убедиться, что они появились.
  • Время запуска долгое, поэтому я хочу убедиться, что эта настройка выполняется только один раз для каждого проекта.
  • Когда проект будет готов, я хочу полностью уничтожить это дело.
  • Для каждого теста я хотел бы убедиться, что окна активны и находятся на переднем плане в начале каждого теста.

Какие есть хорошие подходы? Если вы обнаружите, что этот вопрос слишком расплывчатый, сообщите мне, чего он не хватает.


person Hamish Grubijan    schedule 06.01.2011    source источник


Ответы (2)


Для закодированных тестов пользовательского интерфейса создается код. Вы можете отредактировать закодированный тест пользовательского интерфейса и добавить свой собственный код, чтобы дождаться, пока что-то произойдет, прежде чем позволить выполнить следующий записанный шаг. Если вы хотите вывести определенное приложение на передний план, вы можете использовать Process.GetProcessesByName, чтобы получить информацию о процессе о ваших запущенных приложениях и получить его дескриптор главного окна, чтобы вывести его на передний план.

person Mehmet Aras    schedule 06.01.2011

Если вы хотите отложить тест и подождать некоторые задачи (например, вход в систему или ответ сервера), вы можете проверить эту статью. http://msdn.microsoft.com/en-us/library/gg316453.aspx

person bahadir arslan    schedule 06.01.2011
comment
Спасибо, это простой метод и может быть недостаточно мощным. Я хотел бы знать, как я могу дождаться появления определенного окна с определенным заголовком, а затем, возможно, дождаться другого. - person Hamish Grubijan; 06.01.2011