2016-04-28 7 views
-1

У меня есть решение с WinForm и проект кодированного пользовательского интерфейса. Я хотел бы протестировать мое приложение WinForm с помощью кодированного теста пользовательского интерфейса.C# кодированный проект пользовательского интерфейса. Coded UI Test Builder не записывает начало WinForm

Когда я записываю свои действия с помощью UI Test Builder, он не записывает начало моего приложения WinForm! Все остальное, как кнопки клика, записывается.

Так что, когда я затем запустить мой тест она не вызывает тест не может найти WinForm (очевидно) ...

Но почему? Можно ли добавить код в методе тестирования, чтобы запустить приложение Winform?

Спасибо за помощью

ответ

1

Если вы хотите Coded UI для запуска приложения формы при запуске теста, используйте метод

ApplicationUnderTest.Launch("FORMS_APP_PATH"); 

Вы можете проверить точные детали методы на MSDN.

Update:

Чтобы справиться с изменяющимися пути я создал новое решение Forms и назвал его LabPlus. Затем я добавил в него тестовый проект CodedUI. Внутри тестового проекта я добавил ссылку на сборку LabPlus. После этого я написал следующую строку в моем НПИ методе испытаний:

ApplicationUnderTest.Launch(System.Reflection.Assembly.GetAssembly(typeof(LabPlus.Form1)).Location); 

Я надеюсь, что это ответ на ваш вопрос :)

+0

Значит, вам нужно сначала создать свое решение, а затем напрямую связать файл .exe с приложением? Я сделал это сейчас ... он работает! Что делать, если каталог всегда меняется? Потому что многие люди получают это решение от TFS и где-то сохраняют его на своих компьютерах? –

+0

Да, ты прав. Для изменения каталогов попробуйте сделать его относительным путем, используя точки и обратную косую черту. Другой вариант может использовать любой из следующих свойств: TestContext.DeploymentDirectory TestContext.TestRunDirectory –

+0

Также возможно добавить полный путь к вашему файлу app.config кода кодированного интерфейса. –

0

Мой фикс:

  1. добавить ссылку из тестового проекта в проекте WinForm
  2. класс испытания декора с [DeploymentItem('your-app.exe')] атрибут
  3. добавить ApplicationUnderTest.Launch("your-app.exe"); к методу испытания