Skip to Content

Боремся с ResponseBodyCaptureLimit в Visual Studio Web Test

Недавно, при написании веб тестов в VSTS, я столкнулся с одним неприятным моментом касающимся обработки ответов очень большого объема. Проблема заключается в том, что по умолчанию Visual Studio, несмотря на то, что получает полный ответ от сервера, сохраняет лишь первые 1,5 Мб этого ответа. В результатах теста это выглядит вот так:

Visual Studio Web Test ответ сервера 1,5 Мб

В принципе, в этом нет ничего страшного, если вам не нужно валидировать ответ,  в противном же случае не всегда возможно организовать валидацию по такому полуторамегабайтному "огрызку".  Меня этот "огрызок" как раз таки и не устраивал. Покопавшись в документации я обнаружил, что все можно исправить при помощи свойства ResponseBodyCaptureLimit, которое и определяет максимальный объем ответа сохраняемого в результатах теста. Но не тут то было. Оказалось, что изменение этого свойства в конструкторе теста, в PreWebTest'е и еще в куче других мест никак не влияет на поведение по умолчанию, т.е. Visual Studio с завидным постоянством продолжает сохранять все те же 1,5 Мб. Осознав, что официальная документация мне больше ничем не поможет я принялся копаться в интернетах и таки нашел способ позволяющий обойти это странное ограничение.
Итак, для того чтобы изменить значение ResponseBodyCaptureLimit нужно написать нехитрый Web Test Plugin. Делается это так:

1. Создаем новый проект
2. Добавляем в него Class Library следующего содержания:

  1. using Microsoft.VisualStudio.TestTools.WebTesting;
  2.        
  3.        namespace TestProject1.Tests.Plugins
  4.        {
  5.            public class ResponseBodyLimitFix : WebTestPlugin
  6.            {
  7.                public override void PreWebTest(object sender, PreWebTestEventArgs e)
  8.                {  
  9.                    //Максимальный размер ответа в байтах
  10.                    e.WebTest.ResponseBodyCaptureLimit = 150000000;
  11.        
  12.                }
  13.            }
  14.        }
  15.        

3. Добавлем ссылку на проект с плагином в проект с тестами
4. Добавляем плагин к веб тесту

Visual Studio добавление Web Test Plugin к Web Test

5. Запускаем тест и радуемся

Visual Studio Web Test ответ сервера больше 1,5 Мб

 На этом все.

Удачного тестирования! Wink

----------

Отправить комментарий

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • Pairs of<blockquote> tags will be styled as a block that indicates a quotation.
  • Textual smileys will be replaced with graphical ones.

Подробнее о форматировании