У меня есть тест Visual Studio 2010 Load, который содержит ряд тестов производительности сети. Для выполнения тестов производительности веб-сайта вам необходимо войти в систему на тестируемый веб-сайт. Соответственно, тест нагрузки содержит этап инициализации - небольшой тест производительности сети, который выполняет вход в систему, и который использует подключаемый модуль для кэширования полученного файла cookie. «Реальные» тесты производительности веб - те, которые фактически выполняют работу и у каждых есть плагин, который читает кэшированные печенья и добавляет его к испытанию, так что каждый тест работает правильно:Тестирование веб-производительности, требующее входа в систему: как заставить его работать изолированно и при нагрузке?
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
if (CookieCache.Cookies != null) // CookieCache is a static class of mine
e.WebTest.Context.CookieContainer.Add(CookieCache.Cookies);
Проблема заключается в том, что, хотя это все работает абсолютно нормально, когда я запускаю тест нагрузки, это означает, что я не могу запускать какие-либо тесты производительности в сети изолированно, потому что если инициализатор нагрузки не запускался, тогда нет cookie, поэтому проверка производительности сети не войдет в систему и не сработает.
Какое-либо рекомендуемое решение проблемы? Другими словами, если для проверки веб-производительности необходимо войти в систему, есть ли способ заставить ее работать как изолированно, так и когда она является частью теста нагрузки?
Очевидным способом запуска каждого теста производительности сети в отдельности было бы заставить его сначала вызвать тест входа в систему, но я не могу этого сделать, потому что это будет неправильное поведение для теста нагрузки (где вход в систему должен произойти только один раз на пользователя, прямо в начале теста нагрузки).
Спасибо, что постарались помочь - высоко ценится. К сожалению, ваше предложение в основном состоит в том, что мы уже делаем. Добавление теста init выполняется, как вы говорите, означает, что тест производительности веб-сайта будет работать корректно *, когда он находится в тестовом режиме нагрузки, но не решает проблему всегда работать на веб-тест производительности, независимо от того, находится ли он в тестовом режиме нагрузки. Это потому, что тест Init, если тест нагрузки определен и поэтому не будет работать, если вы запустите тест производительности сети вне теста нагрузки. – PhantomDrummer