Automatisering Av Tester På Flash/Flex-Applikasjoner
etterspørselen Etter testing Av Flash/Flex-applikasjoner har blitt mye mer signifikant de siste årene. Dette indikerer økt bruk av denne teknologien, som igjen illustrerer et behov for automatisert testing av disse applikasjonene. Dette behovet reiser imidlertid noen spørsmål og problemer, hvorav noen vil bli diskutert i følgende artikkel.
Spesifikt er Det Første spørsmålet som må besvares om å automatisere Et Flash / Flex-program: hvilken er riktig automatiseringsteknikk? Det er to forskjellige måter å gå:
Innfødt mus & tastaturintegrasjon – bra for situasjoner der det er minimal Flashinteraksjon som kreves.
API-nivå integrasjon – bra for situasjoner der Det er mye Flash interaksjon kreves.
Innfødt mus & tastaturintegrasjon – Dette er hvor en musebevegelse, museklikk eller tastaturhandling simuleres på operativsystemnivå. Den gjengir den mest realistiske brukersimuleringen ved å registrere GUI-baserte handlinger, og får oss svært nær «real life» bruk av vår søknad. Bruk av denne metoden har imidlertid noen problemer. For eksempel krever testing Av Et Flash-program at applikasjonen og testmiljøet utarbeides på en spesiell måte. Det er forskjellige måter Å gjøre Flash-applikasjonen din testbar, avhengig av testverktøyet som brukes og utviklingsmiljøet. Noen verktøy som TestComplete, Rational Robot og QTP krever at et dedikert bibliotek (vanligvis levert av verktøyets leverandør) er innebygd I Flash-programmet under kompilering eller under kjøring. Detaljer om denne prosessen kan vanligvis finnes i dokumentasjonen av disse verktøyene.
Fange objekter I En Flex/Flash-programmet er problematisk på egen hånd. For å løse dette er det to hovedmetoder:
- Fang skjermen fra enheten og bruk bildegjenkjenning for å finne ønskede elementer på skjermen, automatisere applikasjonen på en svart boks måte. Aubergine er et godt eksempel på et verktøy som benytter denne tilnærmingen. Det er også Hvordan SilkPerformer opererer I Et Citrix-miljø.
- Analyser objektene som brukes i egenskaper, og bruk disse egenskapene til å finne objektet. Dette er den samme tilnærmingen som brukes I qtp ‘ s object repositories. Typiske Flashobjektegenskaper som stat, navn og tekst blir brukt både til å finne objekter og verifisere at visse handlinger har funnet sted. Rational Robot er et godt eksempel på denne tilnærmingen; den bruker 11 Forskjellige Verifikasjonspunkter for å verifisere at en bestemt handling har funnet sted, eller verifisere tilstanden til et objekt. Denne tilnærmingen er perfekt for de som ønsker å simulere relativt enkle GUI-interaksjoner, for eksempel å klikke på en films «play» – knapp eller samhandle med en bekreftelsesdialog, som på en mer komplisert applikasjon har denne tilnærmingen en tendens til å mislykkes.
API-nivå integrasjon – for programmer som har mye mer komplekse Flash / Flex brukergrensesnitt eller programmer som er 100% Flash-baserte, er det vanskelig å bruke GUI fange som presenteres siden det kan være sprø og vanskelig å bekrefte at ønsket funksjonalitet fungerte. For dette kan man bruke API-nivåintegrasjonen. For å gjøre denne typen automatisering må man kunne rekompilere / endre de underliggende Flashobjektene.
Hvordan du går videre herfra, avhenger av om Du bruker Flash eller Flex, Da Flex avslører noen automasjons-Apier som ellers må reproduseres hvis du bruker pure Flash. For å gjøre dette kan man: