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.

  • ๐Ÿ“Œ Kerndoel: Flash-testen bevestigen dat ingesloten SWF-media โ€“ video's, games en animaties โ€“ zich precies gedragen zoals bedoeld.
  • ๐Ÿ”Ž Uitdaging voor lokalisatie: XPath kan geen Flash-objecten bereiken, daarom lokaliseert een speciaal FlashObjectWebDriver-object ze via de toegewezen object-ID.
  • ๐ŸŽฌ Opnamemethode: Selenium IDE registreert acties die op een Flash-film worden uitgevoerd en speelt deze af met de groene knop 'Uitvoeren'.
  • ๐Ÿ’ป WebDriver-methode: De klasse FlashObjectWebDriver roept de methoden Play, StopPlay en SetVariable aan om Flash programmatisch te besturen.
  • โš ๏ธ Belangrijkste beperking: Flash is verouderd; FlexMonkium breidt uit. Selenium IDE wanneer native opnemen en afspelen mislukt.

Flash-testen met Selenium webdriver

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.

Flash-testen

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:

  1. Flash-applicatie.
  2. Ondersteunde webbrowsers.
  3. Adobe Flash Player-plug-ins.

Hulpmiddelen- Hieronder vindt u de testhulpmiddelen die nuttig zijn bij flashtesten.

  1. Selenium
  2. Soap-gebruikersinterface
  3. TestComplete
  4. 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:

Flash-object-ID van Flash Movie/Flash-app

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:

Automatiseer Flash met behulp van Selenium IDE-opname

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:

Automatiseer Flash met behulp van Selenium IDE-opname

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.

Automatiseer Flash met behulp van Selenium IDE-opname

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.

Voeg het Flash JAR-bestand toe in Selenium project

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.

Implementeer flashWebdriver in Selenium script

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

Guru99 demo flashfilmpjes voor Selenium het testen van

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.

Veelgestelde vragen

Adobe heeft de ondersteuning voor Flash Player officieel beรซindigd op 31 december 2020. Flash-testen zijn nu voornamelijk van toepassing op oudere systemen, aangezien de meeste applicaties zijn gemigreerd naar HTML5. Selenium Automatiseert zonder speciale Flash-bibliotheken.

Flash-content wordt weergegeven in een gecompileerd SWF-object dat in de pagina is ingesloten, niet als HTML DOM-elementen. Omdat XPath de DOM doorloopt, kan het geen toegang krijgen tot interne Flash-besturingselementen. Daarom zijn een object-ID en FlashObjectWebDriver vereist.

FlexMonkium is een add-on die integreert met Selenium IDE voor het opnemen en afspelen van Flex- en Flash-applicaties. Correcte installatie stelt testers in staat acties op anders ontoegankelijke Flash-objecten vast te leggen en af โ€‹โ€‹te spelen.

Op AI gebaseerde tools voor visuele tests herkennen Flash-elementen op het scherm door middel van beeld- en patroonherkenning in plaats van via het DOM. Hierdoor kunnen teams animaties en interacties valideren die traditionele locators niet kunnen detecteren.

Ja. AI-ondersteunde tools analyseren bestaande Flash-teststappen en suggereren equivalente HTML5-locators en -scripts. Dit versnelt de migratie naar moderne frameworks zoals Selenium WebDriver, terwijl handmatige nabewerking wordt verminderd.

Vat dit bericht samen met: