Поделиться через


Практическое руководство. Создание подключаемого модуля веб-теста производительности

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

Пользовательские подключаемые модули веб-теста производительности можно создать с помощью пользовательского класса, производного от базового класса WebTestPlugin.

Использование пользовательских подключаемых модулей веб-тестов производительности с записанными веб-тестами производительности позволяет сократить до минимума объем создаваемого пользователем кода для достижения более высокого уровня управления веб-тестами производительности.Также они используются с закодированными веб-тестами производительности.Дополнительные сведения см. в разделе Практическое руководство. Создание кодированного веб-теста производительности.

ПримечаниеПримечание

Возможно также создание подключаемых модулей нагрузочных тестов.Дополнительные сведения см. в разделе Практическое руководство. Создание подключаемого модуля нагрузочных тестов.

Требования

  • Visual Studio Ultimate

Создание пользовательского подключаемого модуля веб-теста производительности

  1. Открытие проекта производительности и нагрузочного теста Интернета, содержащий веб-тест производительности.

    Дополнительные сведения о создании производительность нагрузочного теста Интернета и проекты см. в разделе Практическое руководство. Создание и настройка тестовых проектов для автоматических тестов.

  2. В обозревателе решений правой кнопкой мыши решение и выберите Добавить а затем выберите Создать проект.

    Откроется диалоговое окно Добавление нового проекта.

  3. В области Установленные шаблоны выберите Visual C#.

  4. В списке шаблонов выберите значение Библиотека классов.

  5. В текстовое поле Имя введите имя класса.

  6. Нажмите кнопку ОК.

  7. Новый проект библиотеки классов будет добавлен в обозреватель решений, а новый класс появится в редакторе кода.

  8. В обозревателе решений щелкните правой кнопкой мыши папку Ссылки в новой библиотеке классов и выберите команду Добавить ссылку.

  9. Появится диалоговое окно Добавление ссылки.

  10. Выберите вкладку .NET, прокрутите вниз и выберите Microsoft.VisualStudio.QualityTools.WebTestFramework

  11. Нажмите кнопку ОК.

    Ссылка на Microsoft.VisualStudio.QualityTools.WebTestFramework будет добавлена в папку Ссылки в обозревателе решений.

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

  13. Появится диалоговое окно Добавление ссылки.

  14. Выберите вкладку Проекты и выберите проект библиотеки классов.

  15. Нажмите кнопку ОК.

  16. Напишите код подключаемого модуля в редакторе кода.Сначала создайте открытый класс, производный от класса WebTestPlugin.

  17. Реализуйте код внутри одного или обоих обработчиков событий PreWebTest и PostWebTest.Образец реализации см. в приведенном ниже разделе "Пример".

  18. После написания кода выполните построение нового проекта.

  19. Откройте веб-тест производительности.

  20. Чтобы добавить подключаемый модуль тестов производительности в интернете выберите Добавить подключаемый модуль веб-тестов на панели инструментов.

    Откроется диалоговое окно Добавить подключаемый модуль веб-тестов.

  21. В области Выберите подключаемый модуль выберите класс подключаемого модуля веб-теста производительности.

  22. В области Свойства выбранного подключаемого модуля задайте начальные значения для подключаемого модуля, которые будут использоваться во время выполнения.

    ПримечаниеПримечание

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

  23. Нажмите кнопку ОК.

    Подключаемый модуль будет добавлен в папку Подключаемые модули веб-тестов.

    Предупреждающее замечаниеВнимание

    При запуске веб-теста производительности или нагрузочного теста, использующего данный подключаемый модуль, может появиться ошибка примерно следующего вида:

    Request failed: Exception in <plug-in> event: Could not load file or assembly '<"Plug-in name".dll file>, Version=<n.n.n.n>, Culture=neutral, PublicKeyToken=null' or one of its dependencies.The system cannot find the file specified.

    Это происходит, если в один из подключаемых модулей внесены изменения кода и создана новая версия библиотеки DLL (Version=0.0.0.0), однако подключаемый модуль по-прежнему ссылается на исходную версию подключаемого модуля.Чтобы устранить эту проблему, выполните следующие действия.

    1. В проекте производительности и нагрузочного теста Интернета, отображается предупреждение в ссылках.Удалите и вновь добавьте ссылку на библиотеку DLL подключаемого модуля.

    2. Удалите подключаемый модуль из теста или соответствующего расположения, а затем снова добавьте его.

Пример

В следующем коде создается пользовательский подключаемый модуль веб-теста производительности, который добавляет элемент к WebTestContext, представляющему итерацию теста.

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

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TestTools.WebTesting;

namespace SampleRules
{
    public class SampleWebTestPlugin : WebTestPlugin
    {
        // start counting iterations at 1 not 0
        // so that the iteration number we give matches the run number
        static int testIterationNumber = 1;

        public override void PostWebTest(object sender, PostWebTestEventArgs e)
        {
        }

        public override void PreWebTest(object sender, PreWebTestEventArgs e)
        {
            e.WebTest.Context["TestIterationNumber"] = testIterationNumber;
            testIterationNumber++;
        }
    }
}

См. также

Задачи

Практическое руководство. Создание подключаемого модуля уровня запроса

Практическое руководство. Создание пользовательского правила извлечения для веб-теста производительности

Практическое руководство. Создание пользовательского правила проверки для веб-теста производительности

Практическое руководство. Создание подключаемого модуля нагрузочных тестов

Практическое руководство. Создание кодированного веб-теста производительности

Практическое руководство. Изменение существующего веб-теста производительности с помощью редактора веб-тестов производительности

Ссылки

WebTestRequestPlugin

Другие ресурсы

Создание и применение пользовательских подключаемых модулей для нагрузочных тестов и веб-тестов производительности