Как запустить кодированные тесты пользовательского интерфейса для Windows Azure SDK v1.4 - PullRequest
3 голосов
/ 23 июня 2011

У меня есть веб-приложение 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?

Ответы [ 2 ]

0 голосов
/ 09 декабря 2011

Возможно, это слишком поздно для ОП, но может помочь кому-то еще с подобной проблемой (это было у меня пару часов назад).

Предостережение: я полностью новичок в CodedUI, так что это может быть не правильный способ сделать это. Но по крайней мере это заставило меня начать.

У меня похожая ситуация: веб-приложение Azure 1.4, ASP.NET MVC (в моем случае 2). Я хочу запустить набор тестов пользовательского интерфейса, которые я могу запустить в своей среде разработки настольных систем (VS2010 Premium).

Вот шаги, с которых я начал: 1. Запишите небольшой тест CodedUI - просто чтобы у вас было что посмотреть, чтобы убедиться, что вы в состоянии это сделать. (Я выполнил первые несколько шагов из этого: http://msdn.microsoft.com/en-us/library/dd286608.aspx).

Откройте браузер, прежде чем начать запись, и запишите все, что нужно сделать для запуска веб-приложения.

  1. Добавьте код инициализации в тест для запуска браузера: В свой тестовый класс Coded UI добавьте метод с атрибутом [TestInitialize]:
    [TestInitialize]
    public void LaunchBroswer()
    {
        BrowserWindow browser = BrowserWindow.Launch(new System.Uri("https://127.0.0.2/Logon"));
    }

Ваш URI, конечно, может отличаться. Это было немного волшебства, которое я должен был вывести из некоторых других сообщений. Наличие TestInitialize в области свернутого кода не помогло.

  1. Чтобы запустить тесты, запустите эмуляторы Azure: Ctrl + F5 (который запустит веб-приложение в браузере, но не запустит тест.

  2. Теперь вы можете запустить тест из того же экземпляра VS, с которого вы запустили эмуляторы.

0 голосов
/ 11 августа 2011

боль, которую вы испытываете, связана не только с Azure, но и с закодированным тестом пользовательского интерфейса в целом ИМХО. для MVC (и asp.net) есть пара инструментов, которые могут облегчить боль (и вам не понадобится кодированный набор пользовательского интерфейса).

Вы пробовали SpecFlow и WatiN ? есть даже пакет, который вы можете использовать из Nuget, который собран как часть библиотеки MVCContrib .

надеюсь, это поможет вам проверить пользовательский интерфейс.

Проверьте канал 9 для некоторых инструкций, таких как: это видео

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