VS 2010 Web Load Test - Установить уникальное значение для каждого виртуального пользователя из CSV - PullRequest
4 голосов
/ 16 октября 2011

У меня есть 50 логин и пароль в CSV. Я хочу запустить веб-нагрузочный тест, в котором каждому виртуальному пользователю назначается одно уникальное значение для продолжительности (1 часа) нагрузочного теста для нескольких итераций. Как это делается в VS 2010 Ultimate edition.

Спасибо

Ответы [ 3 ]

6 голосов
/ 02 июня 2012

Предостережение, упомянутое @agentnega своего рода, заставило меня задуматься, поэтому я нашел это

Тесты для одной машины

  • Последовательный - этоdefault и сообщает веб-тесту, что нужно начинать с первой строки, затем извлекать строки по порядку из источника данных.Когда он достигнет конца источника данных, вернитесь к началу и начните снова.Продолжайте, пока не завершится нагрузочный тест.В нагрузочном тесте текущая строка сохраняется для каждого источника данных в каждом веб-тесте, а не для каждого пользователя.Когда любой пользователь запускает итерацию с данным веб-тестом, ему дается следующая строка данных, а затем курсор перемещается.

  • Случайный - это указывает на случайный выбор строк.Продолжайте, пока не завершится нагрузочный тест.

  • Уникальный - указывает на начало с первой строки и выборку строк по порядку.Как только каждая строка используется, остановите веб-тестирование.Если это единственный веб-тест в нагрузочном тесте, то нагрузочный тест останавливается.

Несколько машин, работающих как буровая установка

  • Последовательный - Это работает так же, как если бы вы были на одной машине.Каждый агент получает полную копию данных, и каждый начинается со строки 1 в источнике данных.Затем каждый агент будет проходить через каждую строку в источнике данных и продолжать цикл до завершения нагрузочного теста.

  • Случайный - это также работает, как если бы вы запустили тест на одном компьютере.Каждый агент получит полную копию источника данных и случайным образом выберет строки.

  • Уникальный - этот работает немного по-другому.Каждая строка в источнике данных будет использоваться один раз.Таким образом, если у вас есть 3 агента, данные будут распределены по 3 агентам, и ни одна строка не будет использоваться более одного раза.Как и в случае с одним компьютером, при использовании каждой строки веб-тестирование прекращается.

Источник http://vsptqrg.codeplex.com/

6 голосов
/ 19 октября 2011

Создайте и добавьте новый WebTestPlugin , в событии которого PreWebTest вы вызываете метод MoveDataTableCursor () объекта WebTest, давая ему значение $Параметр контекста WebTestUserId (e.WebTest.Context.WebTestUserId).Также убедитесь, что Источник данных установлен на Не перемещайте курсор автоматически .Это приводит к блокировке виртуального пользователя для строки в вашей таблице данных.

CAVEAT: это будет работать только в том случае, если вы работаете локально или с ОДНЫМ агентом и только с одним сценарием в LoadTest, посколькуWebTestUserId НЕ является уникальным для агентов или сценариев (в отличие от документации).Если у вас есть установка с несколькими агентами, ваш плагин должен знать, как разделить строки данных по агентам.Нет никакого способа работать с несколькими сценариями - для этого вам понадобится более умное решение.

Также обратите внимание, что WebTestUserId начинается с 0 в LoadTest, но начинается с 1 в автономном WebTest (кто знает почему?).

0 голосов
/ 10 декабря 2015

Шон Ламли опубликовал в 2008 году плагин веб-тестирования, который распределяет данные по агентам для отправки уникальных значений даже при использовании нескольких агентов ( ссылка здесь ):

<ожидающий пример кода.Держись.>

...