Запуск теста CodedUI из другого приложения - PullRequest
0 голосов
/ 28 мая 2018

Я планирую запустить свой кодированный тест пользовательского интерфейса из другого проекта (в том же решении).Я добавил ссылку на проект CUIT в свой проект приложения winform.Также я добавил эти ссылки

Microsoft.VisualStudio.TestTools.UITesting.dll
Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll
Microsoft.VisualStudio.TestTools.UITest.CodeGeneration.dll
Microsoft.VisualStudio.TestTools.UITest.Framework.dll
Microsoft.VisualStudio.TestTools.UITest.Playback.dll

Мой код выглядит примерно так

Playback.Initialize();
TestProject.CodedUITest1 coded = new TestProject.CodedUITest1();
coded.CodedUITestMethod1();
Playback.Cleanup();

Однако я получаю исключение при вызове Playback.Initialize().это сообщение ...

"An unhandled exception of type 'Microsoft.VisualStudio.TestTools.UITest.Extension.PlaybackFailureException' occurred in Microsoft.VisualStudio.TestTools.UITesting.dll"

Кто-то сказал, что установка Test agent 2010 / Test agent10 может решить эту ошибку.Я установил MS Visual Studio Test Agent 2010, но возникает та же ошибка.

Что я здесь не так делаю?Спасибо

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Я нашел ответ на мою проблему.Я обнаружил, что сообщение о внутреннем исключении:

"Retrieving the COM class factory for component with CLSID {27876903-E697-4406-BF49-1B8B92CB8735} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."

После копания я обнаружил, что у меня есть 32-битный сторонний dll, который я запускаю на моей 64-битной машине.Конфликт - это 64-битный процесс, пытающийся вызвать 32-битный процесс на 64-битном компьютере.

Решение состоит в том, чтобы изменить свойства проекта так, чтобы они предназначались для машины 'X86' вместо 'Any'.

0 голосов
/ 28 мая 2018

Я пытался запустить тест так же, как вы, и он работал для меня.

Ниже приведены справочные библиотеки, которые я добавил в свои проекты

enter image description here

Пожалуйста, убедитесь, что вы добавили все DLL.Если вы не можете найти dll, найдите их в C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ PrivateAssemblies.

Если это не работает, укажитедетали внутреннего исключения.

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