Flash-testing med Selenium webdriver
Hva er Flash-testing?
Flash-testing er testtypen som brukes til å sjekke at flash-baserte videoer, spill, filmer osv. fungerer som forventet. Med andre ord, testing av funksjonaliteten til blitsen er kjent som Flash-testing. Flash er veldig populær programvare utviklet av Mircomedia (nå kjøpt opp av Adobe). Den brukes til å utvikle spill, applikasjoner, grafikkbaserte animasjoner, film, Mobil spill, programmer osv. I
In Selenium Automatisering, hvis elementene ikke blir funnet av de generelle lokalisatorene som id, klasse, navn osv. da XPath kreves for å finne et element på nettsiden for å utføre operasjoner på det bestemte elementet. Men i Flash-testing, XPath får ikke tilgang til flash-objektet. Så Flashwebdriver-objekt er nødvendig for å finne flash-objekt i et hvilket som helst program.
Her vil du se hvordan du kjører flash Testing og hvordan du gjør flashtesting med Selenium.
Forutsetning for Flash-testing
Nedenfor er kravene for å teste flash-applikasjonen
- Flash-applikasjon.
- Støtte nettleser.
- Adobe Flash player plugins.
Verktøy-Nedenfor er testverktøyene som er nyttige i flash-testing.
- Selenium
- Såpe UI
- TestFullfør
- Teststudio etc.
Selenium er et veldig populært verktøy for netttesting. Du kan lage rammeverk på tvers av forskjellige plattformer og på et annet språk. Det er et åpen kildekodeverktøy og kan lastes ned fra den offisielle nettsiden. Det er enkelt å konfigurere, bruke og implementere.
Hvordan Flash-testing er forskjellig fra andre elementer
- Hvorfor er det vanskelig å fange flashobjekter? Hvordan løses det?
Flash er en utdatert teknologi. Det er vanskelig å fange et flash-objekt da det er forskjellig fra HTML. Flash er også en innebygd SWF-fil (Small Web Format). Det er også vanskelig å få tilgang til Flash-objekter på en mobil enhet.
Å utvikle flash er vanskeligere enn å utvikle HTML-side med SEO (Search Engine Optimization) perspektivet fordi flash ikke er fullt lesbart av søkemotoren. Imidlertid er avanserte teknologier som HTML 5 introdusert for å overvinne problemer som ytelse og sikkerhet.
- På hvilke måter testes flash-applikasjonen.
Flash-applikasjoner testes på to måter:
- Håndbok - Du kan teste Flash-objektet ved å utføre testcases manuelt da det er enkelt og lett å teste. Etter feilfiksing forsikrer du deg om at flash fungerer som forventet og gir avmelding.
- Automasjon - Du bruker å skrive et skript ved å bruke et hvilket som helst automatiseringsverktøy som Selenium, SoapUI, TestComplete, etc. og utfør skriptet.
- Forskjellen mellom Flash og andre elementer.
Som nevnt ovenfor, er hovedforskjellen mellom flash og andre elementer at Flash er innebygd i SWF-filer, mens andre elementer er innebygd i HTML-filer. Det er derfor HTML er lett å fange sammenlignet med flash.
Hvordan kan du få flash-objekt-ID for flash-film / flash-app
På alle websider brukes <objekt>-taggen for alle innebygde multimedia (som Flash, ActiveX, Video osv.). Det innebærer "embed" i et HTML-dokument. Denne taggen definerer en beholder innebygd i < object /> eller < embed /> tags i en HTML ) for interaktivt innhold eller ekstern applikasjon. Objektnavn brukes til å finne flash-objekt på nettsider.
I eksemplet nedenfor kan du for eksempel se at flash-filmen er definert i en "embed"-tag i HTML-dokument eller -fil.
Eksempel:
/* Html page*/ <html> <body marginwidth="0" marginheight="0"> <embed width="100%" height="100%" name="plugin" src="http://video/movie_play.swf" type="application/flash"/> </body> </html>
Bruke objekt-ID for å finne Flash-elementer.
Du kan bruke flash-attributter som objekt-ID for å finne flash-objektet. Og dermed kan du utføre operasjoner på den etter behov, som avspilling, stopp osv.
Som allerede diskutert, kan ikke Flash-objekter nås med XPath. Så for å gjøre noen handling på disse objektene, må utvikleren tildele passende objekt-ID.
Skjermen nedenfor viser objekt-ID-en "MyFlashMovie" er tildelt for Flash:
Hvordan automatisere Flash ved å bruke Selenium IDE-opptak
Du kan også automatisere blitsen ved hjelp av Selenium SDI.
Trinn 1) Du må åpne flash-applikasjonen og deretter Selenium IDE som vist på skjermen nedenfor:
Trinn 2) Klikk nå på "ta opp rød knapp" på høyre side og begynn å utføre operasjoner på Flash-film, og så vil du finne det innspilte skriptet som vist nedenfor:
Etter opptak, hvis brukeren ønsker å utføre skriptet, kan de klikke på den "grønne kjør-knappen" som vist på skjermen nedenfor. De Selenium IDE vil utføre skriptet trinn for trinn.
Hvordan automatisere Flash ved å bruke Selenium Webdriver.
Du kan også automatisere blitsen ved hjelp av Selenium webdriver gjennom Flashwebdriver-objektet og kall deretter en metode for å betjene flash-objektet. Du må Last ned flashwebdriver jar-filer:
Trinn 1) Etter nedlasting, legg til jar-filen i prosjektet ditt som vist på skjermen nedenfor.
Trinn 2) Under flash jar-filen er det en egen flashobjectwebdriver-klasse. Implementer flashWebdriver "myFlashmovie" i selenskriptet ditt som vist nedenfor på skjermen.
Etter å ha lagt til nettdriverklassen "MyFlashMovie", kan du få tilgang til Flash-objektet.
Når du skal automatisere flashtesting
Vanligvis må du automatisere Flash-testing når flash-objektet ikke er lett tilgjengelig. Dette resultatet i testingen avbrytes og klarer derfor ikke å teste Flash-objektet.
Opprette selenskript for Flash-testing.
Trinn 1) Du bruker "Guru99"-flash-filmen for å teste blitsscenariet.
https://demo.guru99.com/test/flash-testing.html
Trinn 2) Skriv et manus i Selenium formørkelse og utfør den. Koden nedenfor når den utføres vil gjøre følgende ting
- Åpne Firefox nettleser,
- Start guru99 flash-siden,
- Spill av flash-filmen og
- Stopp deretter filmen.
import org.openqa.selenium.firefox.FirefoxDriver; import Flash.FlashObjectWebDriver; public class Flash { public static void main(String[] args) throws InterruptedException { // Open firefox browser FirefoxDriver driver = new FirefoxDriver(); // Maximize browser driver.manage().window().maximize(); // Under Flash jar file there is separate FlashObjectWebDriver class FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "myFlashMovie"); // Pass the URL of video driver.get("https://demo.guru99.com/test/flash-testing.html"); Thread.sleep(5000); flashApp.callFlashObject("Play"); Thread.sleep(5000); flashApp.callFlashObject("StopPlay"); Thread.sleep(5000); flashApp.callFlashObject("SetVariable","/:message","Flash testing using selenium Webdriver"); System.out.println(flashApp.callFlashObject("GetVariable","/:message")); } }
Trinn 3) : Kjør skriptet ovenfor.
Utgang: Ved utførelse av manuset ovenfor begynner flash-filmen å spille av og stoppe osv.
Utfordringer i Flash-testing
- Automatisering av flash-app er en utfordring. For å automatisere flash-appen kan du bruke FlexMonkium som er et tillegg for Selenium SDI.
- Du kan få problemer med å aktivere opptak / avspilling av Flex-apper ved hjelp av Selenium-Flexmonkium-integrasjon. Løsningen er at brukeren må installere og integrere Flex monkium til selen IDE nøye. Riktig installasjon vil aktivere registrering for å automatisere flash-apper.
Sammendrag
- I Flash-testing må du sjekke at flash-video, spill, filmer osv. fungerer som forventet eller ikke.
- Du bruker flash-attributter som objekt-ID for å finne flash-objektet. Og dermed kan du utføre operasjoner på den etter behov, som avspilling, stopp osv.
- Hovedforskjellen mellom flash og andre elementer er at Flash er innebygd i SWF-filer, mens andre elementer er innebygd i HTML-filer
- Du må automatisere Flash-testing normalt når blitsobjektet ikke er lett tilgjengelig.
- Verktøy som er nyttige i flash-testing er
- Selenium
- Såpe UI
- TestFullfør
- Teststudio etc.
- Automatisering av flash-app er en utfordring. For å automatisere flash-appen kan du bruke FlexMonkium som er et tillegg for Selenium SDI.