У меня есть веб-приложение MVC3, которое выросло до такой степени, что я хочу начать автоматизировать некоторые функциональные проверки. Итак, я пытался добавить Coded UI Test в тот же проект, в который я поместил модульные тесты. Ничего, кроме разочарования.
Мне удалось записать простую серию шагов: войти в приложение.
Мне удалось сгенерировать код, и я могу увидеть сгенерированный код в файле с именем UIMap.Designer.cs. Экземпляр этого класса создается, и метод теста вызывается в файле с именем LoginTest.cs.
Когда я пытаюсь щелкнуть правой кнопкой мыши по [TestMethod] в LoginTest.cs и выбрать «Запустить тест», у меня изначально получалась следующая ошибка:
Невозможно загрузить тестовый контейнер 'C: ... \ WebRole.Tests.dll' или одну из его зависимостей. Сведения об ошибке: System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'Microsoft.VisualStudio.TestTools.UITesting, версия = 10.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' или одна из ее зависимостей. Система не может найти указанный файл.
Итак, я перевернул следующие ссылки из Copy Local = false в true:
- Microsoft.VisualStudio.TestTools.UITesting
- Microsoft.VisualStudio.TestTools.UITest.Extension
- Microsoft.VisualStudio.QualityTools.CodedUITestFramework
Теперь, когда я запускаю тест, я получаю следующий вывод:
Тестирование началось:
Всего тестов: 1, отфильтрованных: 1
Тесты не найдены.
Продолжительность: 94.9989452249951
Экземпляр браузера не запущен. Ни Azure Compute, ни эмуляторы хранилища Azure не запускаются. Приложение не упаковано и не развернуто. Короче говоря, ничего из того, что происходит при запуске приложения, похоже, не происходит. Итак, я озадачен тем, как вообще может выполняться тест пользовательского интерфейса, поскольку среда эмулятора Azure не работает.
Чтобы обойти это, я попытался открыть два экземпляра VS2010. Во-первых, я запустил приложение как обычно, чтобы запустить эмуляторы Azure и развернуть приложение. Во втором я запустил метод CodedUITest. Те же результаты.
Теперь я застрял. Кто-нибудь еще может выполнить кодированный тест пользовательского интерфейса на эмуляторах Azure, поставляемых с Azure SDK v1.4?