Flash-testen met Selenium webdriver
โก Slimme samenvatting
Flash-testen met Selenium WebDriver controleert of Flash-video's, -games en -animaties correct werken. Deze handleiding legt uit hoe u ingesloten SWF-objecten kunt vastleggen, object-ID's kunt toewijzen en het afspelen kunt automatiseren. Selenium IDE-opname en de FlashObjectWebDriver-klasse voor betrouwbare validatie.

Wat is Flash-testen?
Flash-testen is een testmethode die wordt gebruikt om te controleren of op Flash gebaseerde video's, games, films, enzovoort, naar behoren werken. Met andere woorden, het testen van de functionaliteit van Flash wordt ook wel flash-testen genoemd. Flash-testen. Flash is populaire software ontwikkeld door Macromedia (nu overgenomen door Adobe). Het wordt gebruikt voor het ontwikkelen van games, applicaties, grafische animaties, films, enzovoort. Mobile spellen, programma's, enz.
In Selenium Automatisering, als de elementen niet worden gevonden door de algemene locators zoals ID, klasse, naam, enzdan XPath Het is nodig om een โโelement op de webpagina te vinden om een โโbewerking op dat specifieke element uit te voeren. Maar bij Flash-testen, XPath Het lukt niet om toegang te krijgen tot een Flash-object. Daarom is een FlashWebDriver-object nodig om een โโFlash-object in een applicatie te kunnen vinden.
Hier ziet u hoe u Flash uitvoert Testen en hoe u flashtests kunt uitvoeren Selenium.
Voorwaarde voor Flash-testen
Voordat je begint, zijn dit de vereisten om een โโFlash-applicatie te testen:
- Flash-applicatie.
- Ondersteunde webbrowsers.
- Adobe Flash Player-plug-ins.
Hulpmiddelen- Hieronder vindt u de testhulpmiddelen die nuttig zijn bij flashtesten.
- Selenium
- Soap-gebruikersinterface
- TestComplete
- Teststudio enz.
Selenium is een zeer populaire tool voor webtesten. Je kunt een framework creรซren dat werkt op verschillende platformen en in verschillende programmeertalen. Het is een open source tool en kan worden gedownload van de officiรซle website. Het is eenvoudig te configureren, te gebruiken en te implementeren.
Hoe Flash-testen verschillen van andere elementen
Nu de randvoorwaarden aanwezig zijn, is het nuttig om te begrijpen waarom Flash zich tijdens het testen anders gedraagt โโdan standaard HTML-elementen.
- Waarom is het vastleggen van objecten met een flitser lastig? Hoe kan dit probleem worden opgelost?
Flash is een verouderde technologie. Het is lastig om een โโFlash-object vast te leggen, omdat het verschilt van HTML. Bovendien is Flash een ingebed SWF-bestand (Small Web Format). Het is ook moeilijk om een โโFlash-object op een mobiel apparaat te openen.
Ontwikkelping Flitsen is lastiger dan ontwikkelen.ping Een HTML-pagina is vanuit SEO-perspectief (zoekmachineoptimalisatie) minder geschikt, omdat Flash niet volledig leesbaar is voor zoekmachines. Geavanceerde technologieรซn zoals HTML5 zijn echter geรฏntroduceerd om problemen zoals prestaties en beveiliging te verhelpen.
- Op welke manieren wordt een Flash-applicatie getest?
Flash-applicaties worden op twee manieren getest:
- Handleiding - U kunt het Flash-object testen door testgevallen handmatig uit te voeren, omdat dit eenvoudig en gemakkelijk te testen is. Na het oplossen van bugs zorg je ervoor dat Flash naar behoren werkt zoals verwacht en zorg je voor een afmelding.
- Automatisering - Je schrijft een script met behulp van een automatiseringstool zoals Selenium, SoapUI, TestCompleteenz. en voer het script uit.
- Verschil tussen Flash en andere elementen.
Zoals hierboven vermeld, is het belangrijkste verschil tussen Flash en andere elementen dat Flash is ingebed in SWF-bestanden, terwijl andere elementen zijn ingebed in HTML-bestanden. Daarom is HTML gemakkelijker vast te leggen dan Flash.
Hoe kun je de Flash-object-ID van een Flash-film/Flash-app verkrijgen?
Als je eenmaal weet waarin Flash verschilt van HTML, is de volgende stap het vinden van het Flash-object zelf aan de hand van de object-ID.
Op elke webpagina wordt de <object>-tag gebruikt voor ingesloten multimedia (zoals Flash, ActiveX, video, enz.). Het impliceert "insluiten" binnen een HTML-document. Deze tag definieert een container die is ingesloten in <object/>- of <embed/>-tags in een HTML-document voor interactieve inhoud of een externe applicatie. De objectnaam wordt gebruikt om het Flash-object op webpagina's te lokaliseren.
In het onderstaande voorbeeld ziet u bijvoorbeeld dat de flashfilm is gedefinieerd in een "embed"-tag in een HTML-document of -bestand.
Voorbeeld:
/* 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>
Het object-ID gebruiken om Flash-elementen te vinden.
U kunt flash-attributen zoals object-id gebruiken om het flash-object te lokaliseren. En daardoor kunt u er bewerkingen op uitvoeren zoals afspelen, stoppen, etc.
Zoals reeds besproken, zijn Flash-objecten niet toegankelijk via XPath. Om acties op deze objecten uit te voeren, moet de ontwikkelaar daarom een โโgeschikte object-ID toewijzen.
Onderstaande afbeelding toont de object-ID "MyFlashMovie" die aan de Flash-applicatie is toegewezen:
Hoe Flash te automatiseren met behulp van Selenium IDE-opname
Met de toegewezen object-ID kunt u interacties in de Flash-film rechtstreeks vastleggen via Selenium IDE.
U kunt de flitser ook automatiseren met behulp van Selenium IDE.
Stap 1) Je moet de Flash-applicatie openen en dan Selenium IDE zoals weergegeven in het onderstaande scherm:
Stap 2) Klik nu op de rode opnameknop aan de rechterkant en begin met het bewerken van de Flash-film. Je ziet dan het opgenomen script, zoals hieronder weergegeven:
Na de opname kan de gebruiker, indien gewenst, het script uitvoeren door op de groene 'uitvoeren'-knop te klikken, zoals weergegeven in onderstaande afbeelding. Selenium IDE voert het script stap voor stap uit.
Hoe Flash te automatiseren met behulp van Selenium Webstuurprogramma
Voor meer controle dan opnames bieden, Selenium WebDriver maakt het mogelijk om Flash-objecten programmatisch aan te sturen.
U kunt de flitser ook automatiseren met behulp van Selenium Je moet de webdriver gebruiken via het Flashwebdriver-object en vervolgens een methode aanroepen om bewerkingen op het flash-object uit te voeren. flashwebdriver jar-bestanden downloaden:
Stap 1) Voeg na het downloaden het JAR-bestand toe aan je project, zoals weergegeven in de onderstaande schermafbeelding.
Stap 2) In het flash.jar-bestand bevindt zich een aparte flashObjectWebDriver-klasse. Implementeer de flashWebDriver "myFlashmovie" in je Selenium-script zoals hieronder in de schermafbeelding te zien is.
Nadat je de webdriverklasse "MyFlashMovie" hebt toegevoegd, kun je het Flash-object benaderen.
Wanneer moet u flashtests automatiseren?
Doorgaans is het nodig om Flash-testen te automatiseren wanneer het Flash-object niet gemakkelijk toegankelijk is. Dit leidt ertoe dat de test wordt afgebroken en het Flash-object dus niet wordt getest.
Een Selenium-script maken voor Flash-testen
Samenvattend is hier een volledig werkend script dat de applicatie start en bestuurt. Guru99 demo flashfilmpjes.
Stap 1) Je gebruikt de โGuruEen flashfilm van 99 seconden om het flashscenario te testen.
https://demo.guru99.com/test/flash-testing.html
Stap 2) Schrijf er een script in Selenium Open Eclipse en voer de code uit. De onderstaande code zal, wanneer uitgevoerd, het volgende doen:
- Open de Firefox browser,
- Lanceer de guru99 flash-site,
- Speel de flashfilm af en
- Stop dan de film.
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 a 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")); } }
Stap 3) Voer het bovenstaande script uit.
Output: Bij uitvoering van het bovenstaande script begint de flashfilm af te spelen en stopt deze weer, enzovoort.
Uitdagingen bij Flash-testen
- Het automatiseren van een Flash-app is een uitdaging. Om een โโFlash-app te automatiseren, kun je FlexMonkium gebruiken, een add-on voor Flash. Selenium IDE.
- Mogelijk ondervindt u problemen bij het inschakelen van de opname-/afspeelfunctie van Flex-apps. Selenium- Flexmonkium-integratie. De oplossing is dat de gebruiker Flexmonkium moet installeren en integreren met Selenium IDE zorgvuldig installeren. Een correcte installatie maakt het mogelijk om opnames te maken en Flash-apps te automatiseren.








