Parameters vervangen in een URL-aanvraag
Belangrijk
Deze versie van Operations Manager heeft het einde van de ondersteuning bereikt. U wordt aangeraden een upgrade uit te voeren naar Operations Manager 2022.
Wanneer u een webtoepassing vastlegt met behulp van de Editor webtoepassing, kan deze unieke informatie bevatten in een of meer aanvragen die telkens worden gewijzigd wanneer u verbinding maakt met de toepassing. Deze informatie wordt doorgaans opgenomen in het antwoord op een aanvraag en vervolgens gebruikt door een of meer volgende aanvragen.
Een toepassing kan bijvoorbeeld een unieke sessie-id maken wanneer een gebruiker zich aanmeldt. Deze sessie-id moet worden opgenomen in elke aanvraag na het aanmeldingsproces. Zonder de juiste sessie-id mislukt elk van deze aanvragen. Omdat u niet weet wat deze waarde is totdat de eerste aanvraag wordt uitgevoerd, kan deze niet expliciet worden opgenomen in de configuratie van de aanvraag. Als u de webtoepassing maakt door een browsersessie op te nemen, wordt de sessie-id verzameld in de URL van elke aanvraag. Wanneer de toepassing echter wordt uitgevoerd, mislukken de aanvragen omdat de sessie-id een andere waarde heeft dan de opgenomen sessie-id.
Als u een dergelijke toepassing wilt configureren, kunt u een contextparameter extraheren uit de hoofdtekst van het antwoord van één aanvraag en de waarde van die parameter gebruiken in een of meer volgende aanvragen. Vervolgens vervangt u de expliciete waarde in de volgende aanvragen door een variabele die de parameter vertegenwoordigt. Telkens wanneer de synthetische transactie wordt uitgevoerd, wordt de parameter ingevuld in de aanvraag waar deze is gedefinieerd. Wanneer de variabele wordt gebruikt in de volgende aanvragen, wordt deze vervangen door de verzamelde waarde voordat de aanvraag naar de toepassing wordt verzonden.
Eén toepassing kan een willekeurig aantal contextparameters gebruiken. Een willekeurig aantal aanvragen kan één parameter gebruiken, maar moet worden uitgevoerd na de aanvraag waarin de parameter is gedefinieerd.
Voorbeeld van sessie-id
Bekijk het voorbeeld waarin een toepassing een sessie-id maakt wanneer een gebruiker zich aanmeldt. Deze sessie-id is vereist in elke aanvraag na de aanmeldingspagina. Als u dit scenario wilt implementeren, moet u de sessie-id vastleggen wanneer deze voor het eerst wordt gegenereerd en deze waarde vervolgens gebruiken in elke volgende aanvraag.
U begint met het proces dat wordt beschreven in How to Capture Web Application Recording om de aanmelding en volgende acties vast te leggen. De opgenomen sessie voor het aanmelden bij de toepassing en het uitvoeren van bepaalde acties kan er ongeveer uitzien als in het volgende voorbeeld.
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
In deze aanvraagreeks wordt de sessie-id gemaakt door de eerste aanvraag en gebruikt in de tweede, derde en vierde aanvraag. Wanneer u deze monitor uitvoert, mislukt dit omdat de eerste aanvraag een nieuwe sessie-id genereert die niet overeenkomt met de sessie-id die is gebruikt toen de sessie werd vastgelegd.
Als u deze aanvraagreeks wilt configureren met parametervervanging, moet u een extractieregel maken voor de eerste aanvraag om een contextparameter voor de sessie-id te maken. De extractieregel inspecteert de hoofdtekst van de aanvraag om de waarde voor de variabele sessionid te vinden. Vervolgens wijzigt u de volgende aanvragen om deze parameter te gebruiken in plaats van de waarde voor de sessie-id.
De gewijzigde aanvragen zien er ongeveer uit zoals in het volgende voorbeeld.
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$
Een extractieregel maken
Contextparameters worden verzameld door een extractieregel en elke extractieregel verzamelt één contextparameter. U maakt een extractieregel in het dialoogvenster Eigenschappen van de aanvraag die in eerste instantie de vereiste gegevens genereert. Als u de waarde wilt identificeren die moet worden geëxtraheerd, moet u de hoofdtekst bekijken van het antwoord dat wordt geretourneerd door de specifieke aanvraag. U kunt de bron van de pagina bekijken die wordt geretourneerd in de browser of een hulpprogramma gebruiken waarmee u de details van de HTTP-antwoorden kunt inspecteren. U kunt de tekst niet weergeven met behulp van de webtoepassing Editor.
Wanneer u de aanvraag hebt geïdentificeerd die de informatie bevat die u moet extraheren, bekijkt u het tabblad Extractieregels in de eigenschappen van die aanvraag en maakt u een of meer extractieregels. De details van elke extractieregel worden weergegeven in de volgende tabel.
Optie | Beschrijving |
---|---|
Naam van contextparameter | Voer de naam in om de contextparameter op te geven. |
Begint met | Voer de tekst in de hoofdtekst van het antwoord in waarmee het begin van de parameterwaarde wordt aangegeven. U moet voldoende tekens opgeven om ervoor te zorgen dat de tekenreeks uniek is. De waarde voor de parameter begint direct na het laatst opgegeven teken. |
Eindigt op | Voer de tekst in de hoofdtekst van het antwoord in die het einde van de parameterwaarde identificeert. De waarde voor de parameter eindigt direct vóór het eerste opgegeven teken. |
Index | Als de tekst in het vak Begint met meer dan één keer voorkomt, geeft deze waarde aan welke waarde moet worden gebruikt. Als de tekst slechts één keer wordt weergegeven, of als de eerste keer de tekst wordt weergegeven die moet worden geëxtraheerd, moet de waarde 0 zijn. Als de tweede waarde moet worden geëxtraheerd, moet de waarde 1 zijn, enzovoort. |
Hoofdlettergebruik negeren tijdens het zoeken naar overeenkomende tekst | Hiermee geeft u op of het hoofdlettergebruik van de tekens die worden doorzocht door de vakken Begint met en Eindigt met te negeren. |
URI-codering van geëxtraheerde tekenreeksen uitvoeren | Hiermee geeft u op of de geëxtraheerde tekenreeks moet worden gecodeerd nadat deze is verzameld. |
Een parameter invoegen in een aanvraag
U gebruikt een parameter in een aanvraag door de expliciete waarde te vervangen door een variabele die de parameter vertegenwoordigt. De indeling van de variabele is $ParametersContext/<ContextParameterName>$. Wanneer de aanvraag wordt uitgevoerd, wordt de variabele vervangen door de gegevens die zijn geëxtraheerd door de parameter .
U kunt de variabele in de aanvraag invoegen met behulp van een van de volgende twee methoden:
- Selecteer in het dialoogvenster Aanvraageigenschappen het tabblad Algemeen en selecteer vervolgens Aanvraag-URL om de aanvraag-URL voor de aanvraag te wijzigen.
- Selecteer in het dialoogvenster Eigenschappen van aanvraag het tabblad Algemeen en selecteer vervolgens de knop Parameter invoegen . Gebruik het dialoogvenster Parameter invoegen voor de aanvraag. Dit is toegankelijk via de knop Parameter invoegen op het tabblad Algemeen in het dialoogvenster Aanvraageigenschappen voor de aanvraag.
Voorbeeldwebtoepassing met behulp van parameterextractie
De volgende procedure bevat een voorbeeld van het gebruik van parameterextractie in een webtoepassing. In dit voorbeeld wordt een query uitgevoerd voor het eerste item in de sectie Populair nu van de Startpagina van Bing. Omdat deze waarde regelmatig verandert, moet u eerst verbinding maken met de hoofdpagina en de zoekterm uit de hoofdtekst van het antwoord verzamelen. Vervolgens gebruikt u deze term om de aanvraag te bouwen om de werkelijke zoekopdracht uit te voeren.
De hoofdpagina van Bing wordt hieronder weergegeven met de sectie Nu populair gemarkeerd.
Als u wilt bepalen waar in de antwoordtekst de zoekterm wordt weergegeven, kunt u de bron van de pagina bekijken. Hieronder wordt een gedeelte van de bron weergegeven met de HTML-code van de sectie Populair nu . In deze HTML-code hebt u alleen de zoekreeks nodig, die in de volgende afbeelding is gemarkeerd. De aanvraag wordt gevormd op basis van https://www.bing.com gevolgd door deze tekenreeks.
U kunt gewoon de term zelf ophalen, maar het is eenvoudiger om de hele tekenreeks in de parameter op te nemen. Deze tekenreeks wordt voorafgegaan door de tekens <h3>Populair nu</h3><ul><li><a href=> en eindigt met het volgende exemplaar van '. Dit zijn de waarden die u gebruikt wanneer u de parameterextractie definieert.
Een voorbeeldwebtoepassing opnemen
- Gebruik de procedure in How to Capture Web Application Recording om een webtoepassing op te nemen.
- Maak tijdens het opnemen verbinding met https://www.bing.com.
- U kunt desgewenst de optie in uw browser gebruiken om de bron van de Startpagina van Bing te bekijken en de sectie Populair nu van de HTML-code te zoeken.
- Selecteer de eerste zoekterm onder Populair nu.
- Sla de opname op in de webtoepassing.
- Verwijder de laatste aanvraag omdat dit niet vereist is. Als u de laatste aanvraag wilt verwijderen, selecteert u de aanvraag en selecteert u vervolgens Verwijderen in het deelvenster Acties . De resulterende aanvragen moeten er ongeveer uitzien als de volgende URL's:
Een extractieregel maken
Selecteer de eerste aanvraag en selecteer vervolgens Eigenschappen in het deelvenster Acties .
Selecteer het tabblad Extractieregels .
Selecteer Toevoegen. Het dialoogvenster Extractieregel toevoegen wordt geopend.
Voer in het dialoogvenster Extractieregel toevoegen in het vak Naam van contextparameterSearchString in.
Voer in <het vak Begint met h3>Populair nu</h3><ul><li><a href=>in.
Voer in het vak Eindigt metin. De extractieregel moet er ongeveer uitzien als in de volgende afbeelding.
Selecteer OK om de extractieregel op te slaan en te sluiten.
Selecteer OK om de aanvraag op te slaan en te sluiten.
Een parameter invoegen in een aanvraag
Selecteer de tweede aanvraag en selecteer vervolgens Eigenschappen in het deelvenster Acties .
Selecteer op het tabblad Algemeen de optie Parameter invoegen.
Verwijder in het vak Tekenreeks alle tekst na www.bing.com/.
Met de cursor aan het einde van de URL, net na www.bing.com, selecteert u SearchString in het vak Parameters en selecteert u vervolgens Invoegen. Hiermee wordt de variabele $ParametersContext/SearchString$ ingevoegd. De laatste aanvraag ziet er ongeveer uit zoals in de volgende afbeelding.
Selecteer OK om het dialoogvenster te sluiten.
Selecteer OK om de aanvraag op te slaan en te sluiten. De gewijzigde aanvraagreeks moet er ongeveer uitzien als in de volgende afbeelding.
Selecteer Toepassen om de wijzigingen toe te passen en sluit vervolgens de webtoepassing Editor.