Udostępnij za pośrednictwem


Wieloetapowe testy internetowe

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

Ważne

Testy wieloetapowe sieci Web zostały uznane za 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ą klasyfikowane 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 testów sieci Web 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 sieci Web w programie Visual Studio 2019 jest nadal obsługiwana i będzie nadal obsługiwana w cyklu życia wsparcia produktu.

Zalecamy używanie funkcji TrackAvailability do przesyłania niestandardowych testów dostępności zamiast wieloetapowych testów sieci Web. Ta opcja jest długoterminowym rozwiązaniem obsługiwanym w scenariuszach obejmujących wiele żądań lub testów 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

Należy wykonać:

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

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

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

Uwaga

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

Ważne

Wieloetapowy test internetowy polega na infrastrukturze DNS publicznego Internetu w celu rozpoznawania nazw domen przetestowanych punktów końcowych. Jeśli używasz prywatnego systemu DNS, upewnij się, że serwery nazw domen publicznych mogą rozpoznać każdą nazwę domeny testu. Jeśli nie jest to możliwe, możesz zamiast tego użyć niestandardowych testów TrackAvailability.

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 ona funkcjonalnego środowiska 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 pozycję Utwórz.

Częstotliwość i lokalizacja

Ustawienie opis
Częstotliwość testu 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 testu Miejsca, z których nasze serwery wysyłają żądania internetowe do Twojego adresu URL. Minimalna liczba zalecanych lokalizacji testowych wynosi pięć , aby upewnić się, że można odróżnić problemy w witrynie internetowej od problemów z siecią. Wybrać można maksymalnie 16 lokalizacji.

Kryterium sukcesu

Ustawienie opis
Limit czasu testu Zmniejsz tę wartość, aby otrzymywać alerty dotyczące powolnych odpowiedzi. 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 w każdej odpowiedzi występuje dokładne dopasowanie uwzględniające wielkość liter. 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 opis
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 a liczbą lokalizacji testowych jest liczba progów = lokalizacji alertów — 2, z co najmniej pięcioma lokalizacjami testowymi.

Konfigurowanie

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 źródła danych. 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ć obecny czas. StartTime powinien mieć wartość 15 minut wcześniej.

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

  1. Dodaj wtyczkę Web Test 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 "15 minut temu", a drugie jest dla "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

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 na potrzeby 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 Opis
Identyfikator URI odbiorców Identyfikator URI odbiorców tokenu SAML. Ten identyfikator URI jest przeznaczony dla usługi Access Control, w tym przestrzeni nazw kontroli dostępu i nazwy hosta.
Certificate password 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 tajne klienta. W usłudze 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 usługi Azure AD przy użyciu klucza tajnego klienta (klucza aplikacji).
  2. Wyodrębnianie tokenu 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 usłudze Azure AD. Użyj jego identyfikatora klienta i klucza aplikacji. Twoja usługa testowa ma również własną aplikację w usłudze 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 uwierzytelniającej, 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