Закодированные тесты пользовательского интерфейса VS2013 в инфраструктуре сборки TFS2012

У нас есть следующая установка:

  • ТФС 2012
  • Контроллер/агент сборки 2012
  • Тестовый контроллер/агент 2013
  • Визуальная студия 2013
  • Менеджер по тестированию/"Профессионал по тестированию" 2013 г.

Я пытаюсь создать закодированную оболочку пользовательского интерфейса для автоматического теста Ranorex, как описано здесь

Все отлично работает на моей локальной машине сборки, на которой установлен VS2013. Я создал решение, содержащее два проекта: один проект Coded UI Test, который действует как «оболочка», и проект Ranorex, который содержит фактическую автоматизацию Ranorex. Все ссылки/библиотеки DLL проекта оболочки закодированного пользовательского интерфейса содержатся в отдельной папке проекта, которая находится под контролем версий — на библиотеки DLL НЕ ссылаются из их местоположения C:\Program Files[...].

Оба проекта предоставляют dll для компиляции/сборки в соответствующих папках, которые содержат все необходимые dll. Решение отлично компилируется локально и также выполняется. Сборка также работает, однако выполнение теста не работает. Диспетчер тестирования выдает исключение о том, что

Не удается найти Microsoft.VisualStudio.QualityTools.CodedUITestFramework, версия = 11.0.0.0.

ЗАЧЕМ ?!?

Я понятия не имею, откуда эта ссылка, кроме агента сборки версии 2012.

Однако dll для компиляции содержатся в проекте, и поэтому не должно иметь значения, что агент сборки 2012 года, верно?

Я также попытался настроить определение сборки, добавив переключатель /p:ToolsVersion=12.0 в аргументы MSBuild - похоже, это не имеет значения.

Я также попытался изменить целевую версию .NET для обоих проектов на 4.0, 4.5 (во всех возможных перестановках), что не помогло.

Откуда берется ссылка и как я могу избавиться от нее и заставить тест выполняться на тестовых агентах 2013 года? Или это несовместимость, которую мы не можем обойти?

Я должен упомянуть, что Visual Studio 2012 нигде не задействована. Я понятия не имею, где еще искать или какие параметры изменить...

Спасибо за вашу помощь !


person Hiro Protagonist    schedule 23.03.2014    source источник


Ответы (1)


На dll Microsoft.VisualStudio.QualityTools.CodedUITestFramework ссылается тестовый проект, и она используется для запуска тестов.

Я обнаружил, что агенты, выполняющие тесты, должны соответствовать версии Visual Studio, используемой для кодирования тестов. Попробуйте установить контроллер/агенты VS2013.

ИЗМЕНИТЬ

Я НЕ ПРОБЫВАЛ ЭТО, но, возможно, вы могли бы добавить эту dll в свой тестовый контейнер через определение сборки. Не уверен, что это сработает.

В вашем определении сборки> Процессы> Автоматизированные тесты> Укажите файлы тестов сборки (не уверен в переводе, мой французский). Там у вас есть тестовая DLL. Если вы добавите туда dll CodedUITestFramework, она, скорее всего, будет доступна для агента.

person Johnny5    schedule 26.03.2014
comment
Повозившись с настройкой, я пришел к выводу, что то, что вы сказали, верно: нельзя смешивать TFS, собирать версии контроллера/агента и тестировать версии контроллера/агента. Вот что у меня работает: - создать решение VS 2013, ориентированное на .NET 4.5, которое содержит тестовый проект CodedUI - добавить проект Ranorex, ориентированный на .NET 4.0, к указанному выше решению - в обоих проектах создать папку dll, из которой указаны все необходимые dll (CodedUITestFramework и т. д. для проекта-оболочки и все dll Ranorex для проекта Ranorex) — сборка и запуск на TFS 2012, BC/BA 2012, TC/TA 2012 => работает - person Hiro Protagonist; 27.03.2014