Wieloetapowe testy internetowe

Można monitorować zarejestrowaną sekwencję adresów URL i interakcji z witryną internetową za pośrednictwem wieloetapowych testów internetowych. W tym artykule przedstawiono proces tworzenia wieloetapowego testu internetowego przy użyciu Visual Studio Enterprise.

Ważne

Testy internetowe wieloetapowe zostały przestarzałe. Zamiast wieloetapowych testów internetowych zalecamy używanie funkcji TrackAvailability() do przesyłania niestandardowych testów dostępności. Dzięki funkcji TrackAvailability() i niestandardowym testom dostępności możesz uruchamiać testy w dowolnym środowisku obliczeniowym i używać języka C# do łatwego tworzenia nowych testów.

Wieloetapowe testy internetowe są kategoryzowane jako testy klasyczne i można je znaleźć w obszarze Dodawanie klasycznego testu w okienku Dostępność .

Uwaga

Wieloetapowe testy internetowe nie są obsługiwane w chmurze Azure Government.

Alternatywa wieloetapowego testu internetowego

Wieloetapowe testy internetowe zależą od plików testowych internetowych programu Visual Studio. Ogłoszono, że program Visual Studio 2019 będzie ostatnią wersją z funkcją testowania internetowego. Mimo że nie zostaną dodane żadne nowe funkcje, funkcja testowania internetowego w programie Visual Studio 2019 jest nadal obsługiwana i będzie nadal obsługiwana podczas cyklu wsparcia produktu.

Zalecamy używanie funkcji TrackAvailability do przesyłania niestandardowych testów dostępności zamiast testów sieci Web wieloetapowych. Ta opcja jest długoterminowym rozwiązaniem obsługiwanym w scenariuszach z wieloma żądaniami lub testami uwierzytelniania. Dzięki funkcji TrackAvailability() i niestandardowym testom dostępności możesz uruchamiać testy w dowolnym środowisku obliczeniowym i używać języka C# do łatwego tworzenia nowych testów.

Wymagania wstępne

Potrzebne elementy:

  • Visual Studio 2017 Enterprise lub nowszy.
  • Narzędzia do testowania obciążenia i wydajności sieci Web programu Visual Studio.

Aby zlokalizować wymagania wstępne narzędzi do testowania, wybierz pozycję Instalator programu Visual Studio>Individual components>Debugowanie i testowanie>narzędzi do testowania wydajności sieci Web i testowania obciążenia.

Zrzut ekranu przedstawiający interfejs użytkownika instalatora programu Visual Studio z poszczególnymi składnikami wybranymi polem wyboru obok elementu dla narzędzi do testowania wydajności i obciążenia sieci Web.

Uwaga

Wieloetapowe testy internetowe mają związane z nimi dodatkowe koszty. Aby dowiedzieć się więcej, zobacz oficjalny przewodnik po cenach.

Rejestrowanie wieloetapowego testu internetowego

Ostrzeżenie

Nie zalecamy już używania rejestratora wieloetapowego. Rejestrator został opracowany dla statycznych stron HTML z podstawowymi interakcjami. Nie zapewnia funkcjonalnego środowiska dla nowoczesnych stron internetowych.

Aby uzyskać wskazówki dotyczące tworzenia testów internetowych programu Visual Studio, zobacz oficjalną dokumentację programu Visual Studio 2019.

Przekazywanie testu internetowego

  1. W portalu usługi Application Insights w okienku Dostępność wybierz pozycję Dodaj test klasyczny. Następnie wybierz pozycję Wiele kroków jako jednostkę SKU.
  2. Przekaż wieloetapowy test internetowy.
  3. Ustaw lokalizacje testowe, częstotliwość i parametry alertu.
  4. Wybierz przycisk Utwórz.

Częstotliwość i lokalizacja

Ustawienie Description
Częstotliwość testowania Określa częstotliwość uruchamiania testu z każdej lokalizacji testu. Przy domyślnej częstotliwości równej 5 minut i 5 lokalizacjach testu witryna będzie testowana średnio co minutę.
Lokalizacje testowe Miejsca, z których nasze serwery wysyłają żądania internetowe do Twojego adresu URL. Minimalna liczba zalecanych lokalizacji testowych to pięć , aby upewnić się, że możesz odróżnić problemy w witrynie internetowej od problemów z siecią. Wybrać można maksymalnie 16 lokalizacji.

Kryteria powodzenia

Ustawienie Description
Limit czasu testu Zmniejsz tę wartość, aby otrzymywać alerty o powolnych odpowiedziach. Test jest liowany jako błąd, jeśli odpowiedzi z witryny nie zostały odebrane w tym okresie. W przypadku wybrania opcji Przeanalizuj żądania zależne wszystkie obrazy, pliki stylów, skrypty i inne zasoby zależne muszą zostać odebrane w tym okresie.
Odpowiedź HTTP Zwrócony kod stanu, który jest liowany jako sukces. Kod 200 wskazuje, że została zwrócona normalna strona internetowa.
Dopasowanie zawartości Ciąg, taki jak "Witamy!" Sprawdzamy, czy dokładnie uwzględniana wielkość liter jest zgodna z każdą odpowiedzią. Musi to być zwykły ciąg znaków bez symboli wieloznacznych. Nie zapomnij, że jeśli zawartość strony ulegnie zmianie, może być konieczne jej zaktualizowanie. Tylko znaki angielskie są obsługiwane z dopasowaniem zawartości.

Alerty

Ustawienie Description
Niemal w czasie rzeczywistym (wersja zapoznawcza) Zalecamy używanie alertów niemal w czasie rzeczywistym. Skonfigurowanie tego typu alertu jest wykonywane po utworzeniu testu dostępności.
Próg lokalizacji alertu Zalecamy co najmniej 3/5 lokalizacji. Optymalną relacją między progiem lokalizacji alertu aliczbą lokalizacji testowych jest próg = lokalizacji alertuliczby lokalizacji testowych — 2, z co najmniej pięcioma lokalizacjami testowymi.

Konfiguracja

Wykonaj następujące kroki konfiguracji.

Podłączanie czasu i losowych liczb do testu

Załóżmy, że testujesz narzędzie, które pobiera dane zależne od czasu, takie jak ceny akcji, z zewnętrznego kanału informacyjnego. Podczas rejestrowania testu internetowego musisz używać określonych godzin, ale ustawiasz je jako parametry testu StartTime i EndTime.

Zrzut ekranu przedstawiający aplikację stockową.

Po uruchomieniu testu zawsze chcesz EndTime być czasem obecnym. StartTime powinien mieć 15 minut przed.

Wtyczka data i godzina testu sieci Web umożliwia obsługę czasów parametrów.

  1. Dodaj wtyczkę web testową dla każdej żądanej wartości parametru zmiennej. Na pasku narzędzi testu internetowego wybierz pozycję Dodaj wtyczkę testu internetowego.

    Zrzut ekranu przedstawiający wtyczkę Add Web Test Plug-in (Dodawanie wtyczki testu internetowego).

    W tym przykładzie użyte zostaną dwa wystąpienia wtyczki typu Data i godzina. Jedno wystąpienie dotyczy ciągu "15 minut temu", a inne dotyczy "teraz".

  2. Otwórz właściwości każdej wtyczki. Nadaj jej nazwę i skonfiguruj, aby używać czasu bieżącego. Dla jednego z nich ustaw wartość Dodaj minuty = -15.

    Zrzut ekranu przedstawiający parametry kontekstu.

  3. W parametrach testu internetowego użyj polecenia {{plug-in name}} , aby odwołać się do nazwy wtyczki.

    Zrzut ekranu przedstawiający godzinę rozpoczęcia.

Teraz przekaż test do portalu. Będzie używać wartości dynamicznych w każdym przebiegu testu.

Rozważ zalogowanie się

Jeśli użytkownicy logują się do aplikacji, dostępne są różne opcje symulowania logowania, które pozwolą przetestować strony dostępne po zalogowaniu. Zastosowane podejście zależy od typu zabezpieczeń zapewnianych przez aplikację.

We wszystkich przypadkach utwórz konto w aplikacji tylko do testowania. Jeśli to możliwe, należy ograniczyć uprawnienia tego konta testowego, aby nie było możliwości, że testy sieci Web będą miały wpływ na rzeczywistych użytkowników.

Prosta nazwa użytkownika i hasło

Rejestrowanie testu sieci Web w zwykły sposób. Najpierw usuń pliki cookie.

Uwierzytelnianie SAML

Nazwa właściwości Description
Identyfikator URI odbiorców Identyfikator URI odbiorców tokenu SAML. Ten identyfikator URI jest przeznaczony dla usługi Access Control, w tym Access Control przestrzeni nazw i nazwy hosta.
Hasło certyfikatu Hasło certyfikatu klienta, który przyzna dostęp do osadzonego klucza prywatnego.
Certyfikat klienta Wartość certyfikatu klienta z kluczem prywatnym w formacie zakodowanym w formacie Base64.
Identyfikator nazwy Identyfikator nazwy tokenu.
Nie po Przedział czasu, dla którego token będzie prawidłowy. Wartość domyślna to 5 minut.
Nie wcześniej Przedział czasu, dla którego token utworzony w przeszłości będzie prawidłowy (aby rozwiązać niesymetryczność czasu). Wartość domyślna to (ujemna) 5 minut.
Nazwa parametru kontekstu docelowego Parametr kontekstu, który otrzyma wygenerowaną asercję.

Klucz tajny klienta

Jeśli aplikacja ma trasę logowania, która obejmuje klucz tajny klienta, użyj tej trasy. Usługa Azure Active Directory (Azure AD) to przykład usługi, która zapewnia logowanie wpisów tajnych klienta. W Azure AD klucz tajny klienta jest kluczem aplikacji.

Oto przykładowy test internetowy aplikacji internetowej platformy Azure przy użyciu klucza aplikacji.

Zrzut ekranu przedstawiający przykład.

  1. Pobierz token z Azure AD przy użyciu klucza tajnego klienta (klucza aplikacji).
  2. Wyodrębnij token elementu nośnego z odpowiedzi.
  3. Wywołaj interfejs API przy użyciu tokenu elementu nośnego w nagłówku autoryzacji.
  4. Upewnij się, że test internetowy jest rzeczywistym klientem. Oznacza to, że ma własną aplikację w Azure AD. Użyj identyfikatora klienta i klucza aplikacji. Testowa usługa ma również własną aplikację w Azure AD. Identyfikator URI identyfikatora aplikacji tej aplikacji jest odzwierciedlany w teście internetowym w polu zasobu.

Otwarte uwierzytelnianie

Przykładem otwartego uwierzytelniania jest zalogowanie się przy użyciu konta Microsoft lub Google. Wiele aplikacji, które używają protokołu OAuth, zapewnia alternatywną obsługę klucza tajnego klienta, więc przede wszystkim należy zbadać tę możliwość.

Jeśli test musi się zalogować przy użyciu protokołu OAuth, ogólne podejście to:

  1. Użyj narzędzia takiego jak Fiddler, aby sprawdzić ruch między przeglądarką sieci Web, witryną uwierzytelniającą a aplikacją.
  2. Wykonaj co najmniej dwa logowania na różnych komputerach lub w różnych przeglądarkach albo w długich odstępach czasu (umożliwi to wygaśnięcie tokenów).
  3. Porównując różne sesje, zidentyfikuj token przekazany z lokacji uwierzytelnianej, która następnie została przekazana do serwera aplikacji po zalogowaniu.
  4. Rejestrowanie testu internetowego przy użyciu programu Visual Studio.
  5. Parametryzowanie tokenów. Ustaw parametr, gdy token jest zwracany z wystawcy uwierzytelniania, i użyj go w zapytaniu do lokacji. (Program Visual Studio próbuje sparametryzować test, ale nie poprawnie sparametryzuje tokenów).

Rozwiązywanie problemów

Aby uzyskać pomoc dotyczącą rozwiązywania problemów, zobacz dedykowany artykuł dotyczący rozwiązywania problemów .

Następne kroki