Het automatiseren van Tests op Flash/Flex-toepassingen
de vraag naar het testen van Flash/Flex-toepassingen is de laatste jaren veel groter geworden. Dit wijst op een toenemend gebruik van deze technologie, wat op zijn beurt een behoefte aan geautomatiseerd testen van deze toepassingen illustreert. Deze behoefte roept echter een paar vragen en problemen op, waarvan sommige in het volgende artikel zullen worden besproken.
specifiek is de eerste vraag die moet worden beantwoord over het automatiseren van een Flash/Flex applicatie: welke is de juiste Automatiseringstechniek? Er zijn twee verschillende manieren om te gaan:
Native mouse & toetsenbordintegratie-goed voor situaties waarin minimale Flash-interactie vereist is.
integratie op API-niveau-goed voor situaties waarin veel Flash-interactie vereist is.
Native mouse & toetsenbordintegratie-Dit is waar een muis beweging, muisklik, of toetsenbord actie wordt gesimuleerd op het niveau van het besturingssysteem. Het reproduceert de meest realistische gebruiker simulatie door het opnemen van GUI-gebaseerde acties, waardoor we zeer dicht bij” real life ” gebruik van onze applicatie. Echter, met behulp van deze methode heeft een aantal problemen. Het testen van een Flash-toepassing vereist bijvoorbeeld dat de toepassing en de testomgeving op een speciale manier worden voorbereid. Er zijn verschillende manieren om uw Flash-applicatie testbaar te maken, afhankelijk van de gebruikte testtool en de ontwikkelomgeving. Sommige tools zoals TestComplete, Rational Robot, en QTP vereisen dat een speciale bibliotheek (meestal geleverd door de leverancier van het gereedschap) worden ingebed in de Flash-applicatie tijdens het compileren of tijdens het uitvoeren. Specifieke kenmerken van dit proces kan meestal worden gevonden in de documentatie van deze tools.
het vastleggen van objecten in een Flex/Flash-toepassing is op zichzelf problematisch. Om dit op te lossen, zijn er twee belangrijke benaderingen:
- leg de weergave van het apparaat vast en gebruik beeldherkenning om de gewenste elementen op het scherm te vinden, waardoor de toepassing op een black-box manier wordt geautomatiseerd. Aubergine is een goed voorbeeld van een tool die deze aanpak gebruikt. Het is ook hoe SilkPerformer werkt in een Citrix-omgeving.
- ontleed de objecten die worden gebruikt in eigenschappen en gebruik deze eigenschappen om het object te lokaliseren. Dit is dezelfde aanpak die wordt gebruikt in QTP ‘ s object repositories. Typische Flash-objecteigenschappen zoals Status, naam en tekst worden gebruikt om objecten te lokaliseren en te controleren of bepaalde acties hebben plaatsgevonden. Rationele Robot is een goed voorbeeld van deze aanpak; hij gebruikt 11 verschillende Verificatiepunten om te controleren of een bepaalde actie heeft plaatsgevonden, of om de staat van een object te controleren. Deze aanpak is perfect voor degenen die willen simuleren relatief eenvoudige GUI interacties, zoals het klikken op een film “play” knop of interactie met een bevestiging dialoogvenster, zoals op een meer gecompliceerde toepassing deze aanpak de neiging om te mislukken.
integratie op API-niveau – voor toepassingen die veel complexere Flash/Flex-gebruikersinterfaces hebben of toepassingen die 100% Flash-gebaseerd zijn, is het moeilijk om GUI-opname te gebruiken zoals deze wordt gepresenteerd, omdat het broos kan zijn en moeilijk te bevestigen dat de gewenste functionaliteit werkte. Voor deze, men kan gebruik maken van de API-niveau integratie. Om dit type automatisering te doen moet men in staat zijn om de onderliggende Flash object(s) opnieuw te compileren/wijzigen.
hoe u verder gaat hangt af van of u Flash of Flex gebruikt, aangezien Flex enkele automation API ‘ s blootlegt die anders moeten worden gereproduceerd als u pure Flash gebruikt. Om dit te doen kan men: