Zastępowanie parametrów w żądaniu adresu URL
Podczas przechwytywania aplikacji internetowej przy użyciu edytora aplikacji internetowej może ona zawierać unikatowe informacje w co najmniej jednym żądaniu, które zmieniają się za każdym razem, gdy łączysz się z aplikacją. Te informacje są zwykle zawarte w odpowiedzi na żądanie, a następnie używane przez co najmniej jedno kolejne żądania.
Na przykład aplikacja może utworzyć unikatowy identyfikator sesji podczas logowania użytkownika. Ten identyfikator sesji musi być uwzględniony w każdym żądaniu po procesie logowania. Bez poprawnego identyfikatora sesji każde z tych żądań kończy się niepowodzeniem. Ponieważ nie wiesz, jaka jest ta wartość do momentu uruchomienia pierwszego żądania, nie można jawnie dołączyć jej do konfiguracji żądania. Jeśli tworzysz aplikację internetową, rejestrując sesję przeglądarki, identyfikator sesji jest zbierany w adresie URL każdego żądania. Jednak po uruchomieniu aplikacji żądania kończą się niepowodzeniem, ponieważ identyfikator sesji będzie miał wartość inną niż identyfikator zarejestrowanej sesji.
Aby skonfigurować taką aplikację, można wyodrębnić parametr kontekstu z treści odpowiedzi jednego żądania i użyć wartości tego parametru w co najmniej jednym kolejnym żądaniu. Następnie zastąp jawną wartość w kolejnych żądaniach zmienną reprezentującą parametr . Za każdym razem, gdy transakcja syntetyczna jest uruchamiana, parametr jest wypełniany w żądaniu, w którym jest zdefiniowany. Gdy zmienna jest używana w kolejnych żądaniach, jest zastępowana zbieraną wartością przed wysłaniem żądania do aplikacji.
Jedna aplikacja może używać dowolnej liczby parametrów kontekstu. Dowolna liczba żądań może używać jednego parametru, ale musi być uruchamiana po żądaniu, w którym zdefiniowano parametr.
Przykład identyfikatora sesji
Rozważmy przykład, w którym aplikacja tworzy identyfikator sesji podczas logowania użytkownika. Ten identyfikator sesji jest wymagany w każdym żądaniu po stronie logowania. Aby zaimplementować ten scenariusz, należy przechwycić identyfikator sesji podczas pierwszego wygenerowania, a następnie użyć tej wartości w każdym kolejnym żądaniu.
Rozpoczynasz od użycia procesu opisanego w temacie Jak przechwytywać rejestrowanie aplikacji internetowej w celu przechwycenia logowania i kolejnych akcji. Zarejestrowana sesja logowania do aplikacji i wykonywania niektórych akcji może wyglądać podobnie do poniższego przykładu.
http://www.myapp.com/home.aspx
http://www.myapp.com/search.aspx?query=testing&sessionid=32793279321721
http://www.myapp.com/results.aspx?sessionid=32793279321721
http://www.myapp.com/submit.aspx?sessionid=32793279321721
W tej sekwencji żądań identyfikator sesji jest tworzony przez pierwsze żądanie i używany w drugim, trzecim i czwartym żądaniu. Uruchomienie tego monitora kończy się niepowodzeniem, ponieważ pierwsze żądanie generuje nowy identyfikator sesji, który nie może być zgodny z identyfikatorem sesji, który został użyty podczas przechwytywania sesji.
Aby skonfigurować tę sekwencję żądań z zastąpieniem parametrów, musisz utworzyć regułę wyodrębniania dla pierwszego żądania, aby utworzyć parametr kontekstu dla identyfikatora sesji. Reguła wyodrębniania sprawdza treść żądania, aby zlokalizować wartość zmiennej sessionid. Następnie zmodyfikujesz kolejne żądania, aby użyć tego parametru zamiast wartości identyfikatora sesji.
Zmodyfikowane żądania wyglądają podobnie do poniższego przykładu.
http://www.myapp.com/home.aspx
http://www.myapp.com/search.aspx?query=testing&sessionid=$ParametersContext/sessionID$
http://www.myapp.com/results.aspx?sessionid=$ParametersContext/sessionID$
http://www.myapp.com/submit.aspx?sessionid=$ParametersContext/sessionID$
Tworzenie reguły wyodrębniania
Parametry kontekstu są zbierane przez regułę wyodrębniania, a każda reguła wyodrębniania zbiera pojedynczy parametr kontekstu. Regułę wyodrębniania można utworzyć w oknie dialogowym Właściwości żądania, które początkowo generuje wymagane dane. Aby zidentyfikować wartość do wyodrębnienia, musisz wyświetlić treść odpowiedzi zwróconej z określonego żądania. Możesz wyświetlić źródło strony zwróconej w przeglądarce lub użyć narzędzia, które umożliwia sprawdzenie szczegółów odpowiedzi HTTP. Nie można wyświetlić tekstu przy użyciu edytora aplikacji internetowej.
Po zidentyfikowaniu żądania zawierającego informacje potrzebne do wyodrębnienia należy wyświetlić kartę Reguły wyodrębniania we właściwościach tego żądania i utworzyć co najmniej jedną regułę wyodrębniania. Szczegóły każdej reguły wyodrębniania są wyświetlane w poniższej tabeli.
Opcja | Opis |
---|---|
Nazwa parametru kontekstu | Wprowadź nazwę, aby nadać parametr kontekstu. |
Rozpoczyna się od | Wprowadź tekst w treści odpowiedzi, który identyfikuje początek wartości parametru. Należy określić wystarczającą liczbę znaków, aby upewnić się, że ciąg jest unikatowy. Wartość parametru rozpoczyna się natychmiast po ostatnim określonym znaku. |
Kończy się na | Wprowadź tekst w treści odpowiedzi, która identyfikuje koniec wartości parametru. Wartość parametru kończy się bezpośrednio przed pierwszym określonym znakiem. |
Indeks | Jeśli tekst w polu Rozpoczynanie od występuje więcej niż jeden raz, ta wartość wskazuje, która wartość ma być używana. Jeśli tekst pojawia się tylko raz lub pierwsze wystąpienie tekstu do wyodrębnienia, wartość powinna wynosić 0. Jeśli druga wartość powinna zostać wyodrębniona, wartość powinna wynosić 1 itd. |
Ignoruj wielkość liter podczas wyszukiwania pasującego tekstu | Określa, czy ignorować wielkość liter wyszukiwanych przez pola Rozpoczynanie od i Kończy się polami . |
Wykonywanie kodowania identyfikatora URI wyodrębnionych ciągów | Określa, czy kodować wyodrębniony ciąg po zebraniu. |
Wstawianie parametru do żądania
Parametru w żądaniu należy użyć, zastępując jawną wartość zmienną reprezentującą parametr . Format zmiennej to $ParametersContext/<ContextParameterName>$. Po uruchomieniu żądania zmienna jest zastępowana danymi wyodrębnianymi przez parametr .
Zmienną można wstawić do żądania przy użyciu jednej z dwóch następujących metod:
- W oknie dialogowym Właściwości żądania wybierz kartę Ogólne, a następnie wybierz pozycję Żądaj adresu URL, aby zmodyfikować adres URL żądania dla żądania.
- W oknie dialogowym Właściwości żądania wybierz kartę Ogólne, a następnie wybierz przycisk Wstaw parametr. Użyj okna dialogowego Wstawianie parametru dla żądania. Jest to dostępne z przycisku Wstaw parametr na karcie Ogólne w oknie dialogowym Właściwości żądania dla żądania.
Przykładowa aplikacja internetowa korzystająca z wyodrębniania parametrów
Poniższa procedura zawiera przykład użycia wyodrębniania parametrów w aplikacji internetowej. W tym przykładzie jest wykonywane zapytanie dotyczące pierwszego wpisu w sekcji Popularne teraz na stronie głównej usługi Bing. Ponieważ ta wartość zmienia się regularnie, musisz najpierw nawiązać połączenie ze stroną główną i zebrać termin wyszukiwania z treści odpowiedzi. Następnie użyjesz tego terminu, aby skompilować żądanie w celu wykonania rzeczywistego wyszukiwania.
Główna strona Bing jest wyświetlana poniżej z wyróżnioną sekcją Popularne teraz .
Aby określić, gdzie w treści odpowiedzi pojawia się wyszukiwany termin, możesz wyświetlić źródło strony. Poniżej przedstawiono część źródła z kodem HTML sekcji Popularne teraz . W tym kodzie HTML potrzebny jest tylko ciąg wyszukiwania wyróżniony na poniższej ilustracji. Żądanie jest tworzone z https://www.bing.com następującego ciągu.
Możesz po prostu wyciągnąć sam termin, ale bardziej proste jest uwzględnienie całego ciągu w parametrze . Ten ciąg jest poprzedzony znakami <h3>Popular now</h3><ul><li><a href=> i kończy się następnym wystąpieniem ". Są to wartości, które będą używane podczas definiowania wyodrębniania parametrów.
Rejestrowanie przykładowej aplikacji internetowej
- Aby zarejestrować aplikację internetową, użyj procedury opisanej w temacie How to Capture Web Application Recording (Jak przechwytywać rejestrowanie aplikacji internetowej).
- Podczas nagrywania nawiąż połączenie z usługą https://www.bing.com.
- Opcjonalnie użyj opcji w przeglądarce, aby wyświetlić źródło strony głównej usługi Bing i zlokalizować sekcję Popularne teraz w kodzie HTML.
- Wybierz pierwszy termin wyszukiwania w obszarze Popularne teraz.
- Zapisz nagranie w aplikacji internetowej.
- Usuń ostatnie żądanie, ponieważ nie jest to wymagane. Aby usunąć ostatnie żądanie, wybierz żądanie, a następnie wybierz pozycję Usuń w okienku Akcje . Wynikowe żądania powinny wyglądać podobnie do następujących adresów URL:
Tworzenie reguły wyodrębniania
Wybierz pierwsze żądanie, a następnie wybierz pozycję Właściwości w okienku Akcje .
Wybierz kartę Reguły wyodrębniania.
Wybierz Dodaj. Zostanie otwarte okno dialogowe Dodawanie reguły wyodrębniania.
W oknie dialogowym Dodawanie reguły wyodrębniania w polu Nazwa parametru kontekstu wprowadź ciąg SearchString.
W polu Rozpoczynanie od wprowadź <h3>Popular now</h3><ul><li><a href=>.
W polu Kończy się ciągiem , wprowadź ". Reguła wyodrębniania powinna wyglądać podobnie do poniższej ilustracji.
Wybierz przycisk OK , aby zapisać i zamknąć regułę wyodrębniania.
Wybierz przycisk OK , aby zapisać i zamknąć żądanie.
Wstawianie parametru do żądania
Wybierz drugie żądanie, a następnie wybierz pozycję Właściwości w okienku Akcje .
Na karcie Ogólne wybierz pozycję Wstaw parametr.
W polu Ciąg usuń cały tekst po www.bing.com/.
Po ustawieniu kursora na końcu adresu URL tuż po www.bing.com wybierz pozycję SearchString w polu Parametry, a następnie wybierz pozycję Wstaw. Spowoduje to wstawienie zmiennej $ParametersContext/SearchString$. Ostateczne żądanie wygląda podobnie do poniższej ilustracji.
Wybierz OK, aby zamknąć okno dialogowe.
Wybierz przycisk OK , aby zapisać i zamknąć żądanie. Zmodyfikowana sekwencja żądań powinna wyglądać podobnie do poniższej ilustracji.
Wybierz pozycję Zastosuj , aby zastosować zmiany, a następnie zamknij Edytor aplikacji internetowej.