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


Многоэтапные веб-тесты

Вы можете отслеживать записанную последовательность URL-адресов и взаимодействий с веб-сайтом с помощью многоэтапных веб-тестов. В этой статье описывается процесс создания многоэтапного веб-теста с помощью Visual Studio Enterprise.

Внимание

Не рекомендуется использовать многоэтапные веб-тесты. Мы рекомендуем использовать TrackAvailability() для отправки пользовательских тестов доступности вместо многоэтапных веб-тестов. С помощью TrackAvailability() и настраиваемых тестов доступности можно выполнять тесты на любом вычислительном узле и использовать C# для простого создания новых тестов.

Многоэтапные веб-тесты классифицируются как классические тесты и можно найти в разделе "Добавление классического теста " на панели доступности .

Примечание.

Многоэтапные веб-тесты не поддерживаются в облаке Azure для государственных организаций.

Альтернатива многоэтапного веб-теста

Многоэтапные веб-тесты зависят от файлов веб-тестов Visual Studio. Было объявлено , что Visual Studio 2019 будет последней версией с функциональными возможностями веб-теста. Хотя новые функции не будут добавлены, функции веб-тестирования в Visual Studio 2019 по-прежнему поддерживаются и будут поддерживаться в течение жизненного цикла поддержки продукта.

Мы рекомендуем использовать TrackAvailability для отправки пользовательских тестов доступности вместо многоэтапных веб-тестов. Этот параметр является долгосрочным поддерживаемым решением для сценариев многозапросить или проверки подлинности. С помощью TrackAvailability() и настраиваемых тестов доступности можно выполнять тесты на любом вычислительном узле и использовать C# для простого создания новых тестов.

Необходимые компоненты

Необходимые компоненты:

  • Visual Studio 2017 Enterprise или более новая версия.
  • Средства Visual Studio для тестирования производительности веб-сайтов и нагрузочного тестирования.

Чтобы найти необходимые средства тестирования, выберите Visual Studio Installer>Individual componenting>and testing>Web performance and load testing tools.

Снимок экрана: пользовательский интерфейс установщика Visual Studio с отдельными компонентами, выбранными с флажком рядом с элементом для веб-производительности и средств нагрузочного тестирования.

Примечание.

С ними связаны дополнительные затраты на многоэтапные веб-тесты. Дополнительные сведения см. в официальном руководстве по ценам.

Внимание

Многоэтапный веб-тест использует инфраструктуру DNS общедоступного Интернета для разрешения доменных имен тестируемых конечных точек. Если вы используете частный DNS, необходимо убедиться в том, что серверы общедоступных доменных имен могут разрешать каждое доменное имя теста. Если это невозможно, вместо них можно использовать настраиваемые тесты TrackAvailability.

Запись многоэтапного веб-теста

Предупреждение

Мы больше не рекомендуем использовать многоэтапный записыватель. Средство записи было разработано для статических HTML-страниц с основными взаимодействиями. Он не предоставляет функциональный интерфейс для современных веб-страниц.

Инструкции по созданию веб-тестов Visual Studio см. в официальной документации по Visual Studio 2019.

Отправка веб-теста

  1. На портале Application Insights на панели доступности выберите " Добавить классический тест". Затем в качестве номера SKU выберите многофакторную команду.
  2. Отправьте многоэтапный веб-тест.
  3. Установите значения для параметров местоположений, частоты и оповещений.
  4. Нажмите кнопку создания.

Частота и расположение

Параметр Description
Периодичность проведения тестирования Задает частоту выполнения теста для всех тестовых расположений. При стандартной частоте в пять минут и с пятью тестовыми расположениями ваш сайт будет проверяться в среднем каждую минуту.
Расположения тестирования Места, из которых наши серверы отправляют веб-запросы на ваш URL-адрес. Чтобы вы могли отличить проблемы с веб-сайтом от проблем с сетью, мы рекомендуем использовать не менее пяти расположений. Вы можете выбрать до 16 таких расположений.

Условия успеха

Параметр Description
Время ожидания тестирования Уменьшите значение этого параметра, чтобы получать оповещения о медленных откликах. Тест считается неудачной попыткой, если ответы от сайта не были получены в течение заданного периода. Если выбрать параметр Анализировать зависимые запросы, все изображения, файлы стилей, скрипты и другие зависимые ресурсы будут получены в течение этого периода.
HTTP-ответ Возвращаемый код состояния, который считается успешным результатом. Код 200 указывает, что была возвращена обычная веб-страница.
Совпадение содержимого Произвольная строка, например "Welcome!". Мы проверяем наличие точного совпадения (с учетом регистра) со строкой в каждом ответе. Это должна быть строка обычного текста без подстановочных знаков. Не забывайте, что при изменении содержимого страницы необходимо обновить эту строку. Поддерживаются только английские символы с совпадением содержимого.

видны узлы

Параметр Description
Режим почти реального времени (предварительная версия) Мы рекомендуем использовать оповещения практически в режиме реального времени. Настройка этого типа оповещений выполняется после создания теста доступности.
Пороговое значение для расположения оповещения Мы рекомендуем как минимум 3 из 5 расположений. Оптимальное отношение между пороговым значением для оповещения расположения и числом тестовых расположений: пороговое значение для оповещения расположения = число расположений теста – 2, минимум с пятью расположениями теста.

Настройка

Выполните следующие действия по настройке.

Подключение времени и случайных чисел к тесту

Предположим, вы тестируете средство, которое получает данные, зависящие от времени, такие как цены на акции, из внешнего канала. При записи веб-теста необходимо использовать определенное время, но задать их в качестве параметров теста и StartTime EndTime.

Снимок экрана: фондовое приложение.

При выполнении теста необходимо EndTime всегда находиться в настоящее время. StartTime должно быть 15 минут до.

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

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

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

    В этом примере используется два экземпляра подключаемого модуля даты и времени. Один экземпляр предназначен для "15 минут назад", а другой — для "сейчас".

  2. Откройте свойства каждого подключаемого модуля. Присвойте ему имя и настройте его для использования текущего времени. Для одного из них задайте значение "Добавить минуты" = -15.

    Снимок экрана: параметры контекста.

  3. В параметрах веб-теста используйте {{plug-in name}} для ссылки на имя подключаемого модуля.

    Снимок экрана: StartTime.

Теперь можно передать тест на портал. Он будет использовать динамические значения для каждого запуска теста.

Рассмотрите возможность входа

Если пользователи входят в приложение, вы можете протестировать страницы входа, используя несколько способов имитации входа. Выбор подхода зависит от типа безопасности в приложении.

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

Простое имя пользователя и пароль

Запишите веб-тест обычным образом. Сначала удалите файлы cookie.

проверка подлинности SAML

Имя свойства Description
URI аудитории URI аудитории для токена SAML. Этот URI предназначен для службы контроль доступа, включая пространство имен контроль доступа и имя узла.
Пароль сертификата Пароль сертификата клиента, который предоставит доступ к внедренным закрытым ключом.
Сертификат клиента Значение сертификата клиента с закрытым ключом в формате Base64.
Идентификатор имени Идентификатор имени маркера.
Не после Срок действия токена. Значение по умолчанию равно 5 минутам.
Не ранее Срок действия токена, созданного ранее (на случай отклонений во времени). Отрицательное значение; по умолчанию — 5 минут.
Имя целевого параметра контекста Имя параметра контекста, в который будет записано сформированное утверждение.

Секрет клиента

Если в приложении предусмотрен маршрут входа с использованием секрета клиента, используйте этот маршрут. Azure Active Directory (Azure AD) — это пример службы, которая предоставляет вход в секрет клиента. В Azure AD секрет клиента — это ключ приложения.

Ниже приведен пример веб-теста веб-приложения Azure с помощью ключа приложения.

Снимок экрана: пример.

  1. Получение маркера из Azure AD с помощью секрета клиента (ключа приложения).
  2. Извлеките маркер носителя из ответа.
  3. ВызовИТЕ API с помощью маркера носителя в заголовке авторизации.
  4. Убедитесь, что веб-тест является фактическим клиентом. То есть у него есть собственное приложение в Azure AD. Используйте его идентификатор клиента и ключ приложения. Служба под тестом также имеет собственное приложение в Azure AD. URI идентификатора приложения этого приложения отражается в веб-тесте в поле ресурса.

Открытие проверки подлинности

Примером открытой проверки подлинности является акт входа с помощью учетной записи Майкрософт или Google. Многие приложения, использующие OAuth, предоставляют альтернативный вариант с использованием секрета клиента, поэтому сначала стоит попробовать эту возможность.

Если тест должен выполнить вход с помощью OAuth, это общий подход:

  1. Проверьте трафик между веб-браузером, сайтом проверки подлинности и приложением при помощи Fiddler или аналогичного средства.
  2. Выполните вход несколько раз с разных компьютеров или из разных браузеров либо через большие промежутки времени (чтобы истек срок действия маркеров).
  3. Сравнивая различные сеансы, определите маркер, переданный обратно с сайта проверки подлинности, который затем передается серверу приложений после входа.
  4. Запись веб-теста с помощью Visual Studio.
  5. Параметризация маркеров. Задайте параметр, когда маркер возвращается из средства проверки подлинности, и используйте его в запросе на сайт. (Visual Studio пытается параметризировать тест, но не правильно параметризирует маркеры.)

Устранение неполадок

Сведения об устранении неполадок см. в статье об устранении неполадок.

Следующие шаги