Я добавил кодированные тесты пользовательского интерфейса в мое решение ASP.NET MVC в Visual Studio 2013. Я был встревожен тем, как медленно проходят тесты; каждая страница просто сидит там на минуту или больше, прежде чем тестовое оборудование просыпается и начинает заполнять поля формы.Кодированный тест пользовательского интерфейса медленно ждет поток пользовательского интерфейса
После нескольких экспериментов (в том числе и выключая SmartMatch
), я обнаружил, что просто называя
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.Disabled;
решает эту проблему. Но, как и ожидалось, тест часто терпит неудачу, потому что поток пользовательского интерфейса не готов к взаимодействию тестового оборудования с элементами управления в форме.
Вызов
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
делает пробный запуск надежно, если медленно.
Любые мысли или предложения? Любая надежда, что кто-то может иметь некоторое представление о магии, запеченной в машинах WaitForReady? Есть ли другие настройки, связанные с WaitForReady, с которыми я могу играть, кроме WaitForReadyLevel
?
Спасибо, что ответили на свой пост. Это ускорило мои испытания. – user171197
Это фиксировало почти все для меня. У меня все еще есть некоторые проблемы с синхронизацией с некоторыми операциями Async, которые продолжаются, но этого можно ожидать. Благодаря! – Rouse02
Кто-нибудь когда-либо получал эту работу с запуском тестовых примеров на основе [AssemblyInitialization]. За то, что я делаю. Мне нужно запустить мой тест в [AssemblyInitialization]. Я специально говорю о Playback.PlaybackSettings. Если кто-то получил эту работу, быстрый ответ или пример были бы замечательными. Tahnks – skinnyWill