In dit artikel gaat u stapsgewijs door het bewerkings- en testproces voor een eenvoudige transactie, en lost u enkele eenvoudige problemen op.
De voorbeelden die hier worden gebruikt komen uit een eerdere oefening: Het klikpad van de winkelwagengebruiker vastleggen. Als u die oefening nog niet heeft voltooid, kunt u dat nu doen, of u kunt het script kopiëren en plakken in de stap-editor.
Handmatig testen in development mode
U heeft drie opties voor uw controleregels: development, staging en production mode. Testen in development mode is het belangrijkste dat u kunt doen voordat u een transactiescript naar staging of production mode verplaatst Meer informatie over controleregel modes.
- Ga in de Uptrends-app naar .
- Open de transactiecontroleregel die door de transaction recorder is geüpload.
- Zorg ervoor dat u op het tabblad Algemeen bent.
- In het gedeelte Status stelt u de Mode in op “Development”.
- Klik op de knop .
Begin uw testen met “Test starten”
Of u nu begint met een script rechtstreeks uit de transaction recorder, wijzigingen aanbrengt in uw script of problemen met een script in production oplost, u gebruikt de knop
. Om te controleren of er problemen zijn, kunt u op deze manier een snelle test uitvoeren.- Open de transactiecontroleregel die voor deze tutorial is gemaakt.
- Druk onder aan de pagina op de knop Test starten. Het pop-upvenster Testen vanaf: verschijnt.
- Kies een controlestation van waaruit u uw test wilt uitvoeren.
- Klik op .
Nadat u met de test bent begonnen, scrolt de editor automatisch naar de bovenkant van de pagina en het controlestation voegt uw controleregel toe aan de testwachtrij. Zodra de test start, kunt u de test bekijken terwijl het controlestation door uw script stapt. Als uw script eindigt met een succesvolle test, is dat natuurlijk geweldig, maar er moet nog meer getest worden.
Als u het voorbeeldscript gebruikt, zult u zien dat Stap 1 (Navigeren) en Stap 2 (Klikken op een element) succesvol zijn uitgevoerd, maar dat Stap 3 mislukte op actie 3.3.
Problemen met het script oplossen
Een transactie kan om vele redenen mislukken in development mode, zoals ontbrekende inhoud of de verkeerde selectorkeuze voor elementen, tabs en frames. Timingproblemen en ontbrekende interacties kunnen ook een rol spelen. Bekijk de volgende tips voor de meest voorkomende problemen.
Probleem: Element niet gevonden vanwege dynamische ID’s
In de voorbeeldscripttest kunt u in de testresultaten zien dat de controleregel het element dat is gespecificeerd in de CSS-selector niet kon vinden. De actie vertelt het controlestation om de hoeveelheid te wijzigen, maar aangezien de controleregel het element niet kan vinden, mislukt de actie. Het Knowledge Base-artikel Selectoralternativen bevat meer informatie over selectors.
De volledige CSS-selector luidt:
#quantity_6346b8b92ac97
Dus de controleregel kijkt en wacht op een element op de pagina met id=“quantity_6346b8b92ac97”, en wanneer het verschijnt, stelt de controleregel de waarde van het element in op “2”. Maar het element met ID “quantity_6346b8b92ac97” is nooit verschenen. Waarom niet? De selector is op zoek naar een specifieke ID, maar de server genereert de ID van het element dynamisch. Elke keer dat de pagina wordt geladen, geeft de server het element een andere ID. Om dit te verhelpen zijn er andere manieren om een element te identificeren dan door zijn ID.
Oplossing: Gebruik een andere selector
Om het probleem dat wordt veroorzaakt door dynamische ID’s te omzeilen, heeft u een andere selector nodig. Klik op de knop met drie stippen
in het selectorindicatievak om een lijst van andere mogelijke selectors weer te geven.Een pop-upvenster met selectoralternatieven verschijnt:
In dit geval ziet u dat verschillende selectors de dynamisch gecreëerde waarde gebruiken, zodat u die selectors meteen kunt uitsluiten. Twee andere opties bevatten de dynamische ID niet: name en xpath:idRelative. De recorder ordent de selectors automatisch op basis van zijn mening over welke selectors het beste zullen werken. In dit geval kan de tweede aanbeveling, “name” beter werken om het element te identificeren. De naamwaarde is een element attribute en als deze uniek is voor de pagina, is de selector waarschijnlijk uw beste keuze.
Het blijkt dat de optie xpath:idRelative in dit geval ook werkt. Uptrends gaf u twee geldige keuzes die prima werken in development mode, maar u weet pas zeker of ze goed werken als u het script naar staging mode verplaatst. Maar u moet nog meer doen voordat u uw script naar staging of production mode verplaatst.
Probleem: Element niet gevonden vanwege gebrek aan gebruikersinteractie
Net als dynamische ID’s kan ook dynamische inhoud die gebruikersinteractie vereist voordat een element zichtbaar is, problemen veroorzaken. Het kan lastig zijn om ze te vinden, maar het beste is om eerst goed te kijken naar de details van de gebruikersinteracties.
Oplossing: Voeg hoveracties toe
Sommige pagina-elementen worden niet geladen of worden pas zichtbaar als de gebruiker de cursor over het element beweegt. Als een gebruiker bijvoorbeeld over een menu moet hoveren om de submenu’s zichtbaar en toegankelijk te maken, moet het script ook de hoveractie uitvoeren. De transaction recorder kan echter geen hovergebeurtenissen vastleggen, en als een element niet zichtbaar is op de pagina, kan het script er niet mee interacteren. U moet een hoveractie toevoegen vóór de afhankelijke interactie. Meer informatie over hoveracties en hoe u ze configureert.
Probleem: Fout vanwege time-out
Wanneer het script wordt uitgevoerd, blijft het zoeken en wacht het op het laden van elementen. De standaardwachttijd is 30 seconden, en 30 seconden is meestal ruim voldoende tijd. Echter, als 30 seconden niet genoeg is, moet u misschien extra wachttijden aan een actie toevoegen. Meer informatie over het gebruik van wachtvoorwaarden vindt u in ons Knowledge Base-artikel Wachtvoorwaarden gebruiken.
Oplossing: Oorzaken en (mogelijke) oplossingen voor timingproblemen
Als u een timingprobleem heeft vastgesteld, kunnen daar verschillende oorzaken en oplossingen voor zijn.
- Element is nog niet interactief - Verleng de wachttijd.
- Transactietime-out - Een transactie heeft een maximale run time. Vraag support om naar uw script te kijken om u te helpen het probleem te vinden.
Probleem: Fouten in instellenacties
Ontbrekende klikken vóór instellenacties kunnen onverwachte fouten veroorzaken. Vermijd fouten door altijd een klikactie op te nemen bij elke instellenactie.
Oplossing: Voeg klikacties toe
Gebruik de Enter-toets niet - Bij het opnemen van uw transactie heeft u mogelijk de Enter-toets gebruikt in plaats van op een verzendknop te klikken. Als u bijvoorbeeld een zoekfunctie gebruikt, is de natuurlijke actie om op Enter te drukken in plaats van op de zoekknop. De recorder kan het gebruik van de Enter-toets niet opnemen. Als u ontdekt dat u dat heeft gedaan tijdens uw opname, voegt u de klikactie toe. Is er geen knopoptie, neem dan contact op met support om u te helpen een oplossing te vinden.
Gemiste klikken - Verwijder de klikken niet die verschijnen voordat u waarden in velden invoert. Klikgebeurtenissen activeren waardemaskers en andere gebeurtenissen in de browser. In sommige gevallen moeten twee klikken worden toegevoegd voordat u een waarde invoert.
Meer informatie over klikacties.
Checklist voor het testen van scripts
Voordat u uw transactiecontroleregel naar staging verplaatst, moet u eerst een aantal dingen controleren.
- Zet inhoudcontroles in. Voeg na elke paginaovergang een inhoudcontrole toe om te controleren of de juiste pagina is geladen met de juiste inhoud.
- Controleer de screenshots en watervallen. In development mode genereert elke stap een screenshot van het browservenster en de watervalgrafiek. Controleer de watervallen en screenshots om de paginaflow, inhoud en nauwkeurigheid van producten/items te verifiëren.
- Lees de transactiewaarschuwingen. Zorg ervoor dat uw monitoring geen negatieve gevolgen heeft voor uw bedrijf.
- Voeg klikacties toe voordat u waarden in tekstvakken invoert.
Schakel naar staging mode
Nadat u uw code in development mode heeft verfijnd en getest, is de volgende stap om naar staging mode te gaan. Meer informatie over controleregel modes).
- Ga in de Uptrends-app naar .
- Open de transactiecontroleregel die voor deze tutorial is gecreëerd.
- Zorg ervoor dat u op het tabblad Algemeen bent.
- Wijzig de Mode in “Staging”.
- Stel de controleregel in op Actief door het vakje aan te vinken.
- Klik op .
Laat uw nieuwe transactiecontroleregel een paar weken in staging mode draaien om de stabiliteit te testen, vooral na site-updates. Het verplaatsen van de tests naar het uitgebreidere controlestationnetwerk kan ook lokale problemen blootleggen.
Hoewel de tests in staging mode geen alerts genereren, kunt u de controleregel logs en het dashboard Transactie bekijken om eventuele fouten te zien die uw controleregel is tegengekomen. In de Controleregel log (en andere dashboards), ziet u de laboratoriumkolf naast uw controleregel in staging mode.
Als u op het tijdstempel van de fout klikt, wordt het rapport Details van de controle geopend dat u informatie geeft over de transactie tot en met de fout.