Flash-testen met Selenium webdriver

Wat is Flash-testen?

Flash-testen is een testtype dat wordt gebruikt om te controleren of op Flash gebaseerde video's, games, films, enz. naar verwachting werken. Met andere woorden, het testen van de functionaliteit van de flitser staat bekend als Flash-testen. Flash is zeer populaire software ontwikkeld door Mircomedia (nu overgenomen door Adobe). Het wordt gebruikt om games, applicaties, grafische animaties, films, Telefoonnummer games, programma's, enz. In

In Selenium Automatisering, als de elementen niet worden gevonden door de algemene locators zoals ID, klasse, naam, enz. Dan XPath is vereist om een ​​element op de webpagina te vinden om een ​​bewerking op dat specifieke element uit te voeren. Maar bij Flash-testen, XPath kan geen toegang krijgen tot het Flash-object. Het Flashwebdriver-object is dus vereist om het Flash-object in elke toepassing te vinden.

Flash-testen

Hier ziet u hoe u Flash uitvoert Testen en hoe u flashtests kunt uitvoeren Selenium.

Voorwaarde voor Flash-testen

Hieronder staan ​​de vereisten om de flash-applicatie te testen

  1. Flash-applicatie.
  2. Ondersteuning webbrowser.
  3. Adobe Flash Player-plug-ins.

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

  1. Selenium
  2. Soap-gebruikersinterface
  3. Test voltooid
  4. Teststudio enz.

Selenium is een zeer populaire tool voor webtesten. U kunt een raamwerk creëren op verschillende platforms en in een andere taal. Het is een open source-tool en kan worden gedownload van de officiële website. Het is eenvoudig te configureren, gebruiken en implementeren.

Hoe Flash-testen verschillen van andere elementen

  • Waarom is het vastleggen van flitsobjecten moeilijk? Hoe wordt het opgelost?

Flash is een verouderde technologie. Het is moeilijk om een ​​Flash-object vast te leggen, omdat het anders is dan HTML. Flash is bovendien een ingesloten SWF-bestand (Small Web Format). Het is ook moeilijk om toegang te krijgen tot het Flash-object op een mobiel apparaat.

Flash ontwikkelen is moeilijker dan HTML-pagina's ontwikkelen vanuit het SEO (Search Engine Optimization) perspectief, omdat flash niet volledig leesbaar is voor de zoekmachine. Geavanceerde technologieën zoals HTML 5 worden echter geïntroduceerd om problemen zoals prestaties en beveiliging te overwinnen.

  • Op welke manieren wordt 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 - U schrijft een script met behulp van een automatiseringstool zoals Selenium, SoapUI, TestComplete, enz. en voer het script uit.
  • Verschil tussen de flitser en een ander element.

Zoals hierboven vermeld, is het belangrijkste verschil tussen Flash en andere elementen dat Flash is ingesloten in SWF-bestanden, terwijl andere elementen zijn ingesloten in HTML-bestanden. Daarom is HTML gemakkelijk vast te leggen in vergelijking met Flash.

Hoe kunt u de Flash-object-ID van Flash Movie / Flash-app krijgen

Op alle webpagina's wordt de tag <object> gebruikt voor alle ingebedde multimedia (zoals Flash, ActiveX, Video enz.). Het impliceert “insluiten” in een HTML-document. Deze tag definieert een container die is ingebed in < object /> of < embed /> tags in een HTML ) voor interactieve inhoud of externe toepassing. De objectnaam wordt gebruikt om Flash-objecten op webpagina's te lokaliseren.

In het onderstaande voorbeeld kunt u bijvoorbeeld zien dat de Flash-film 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>

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 actie te kunnen ondernemen op deze objecten, moet de ontwikkelaar dus de juiste object-ID toewijzen.

Het onderstaande scherm toont de object-ID “MyFlashMovie” die is toegewezen aan de Flash:

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

Hoe Flash te automatiseren met behulp van Selenium IDE-opname

U kunt de flitser ook automatiseren met behulp van Selenium IDE.

Stap 1) U moet de Flash-applicatie openen en vervolgens 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 uitvoeren van de bewerking op de Flash-film. Vervolgens vindt u het opgenomen script zoals hieronder weergegeven:

Automatiseer Flash met behulp van Selenium IDE-opname

Als de gebruiker na de opname het script wil uitvoeren, kan hij op de “groene run-knop” klikken, zoals weergegeven in het onderstaande scherm. De 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 Webdriver.

U kunt de flitser ook automatiseren met behulp van Selenium webdriver via het Flashwebdriver-object en roep vervolgens een methode aan om het flash-object te bedienen. U moet flashwebdriver jar-bestanden downloaden:

Stap 1) Voeg na het downloaden het jar-bestand toe aan uw project, zoals weergegeven in het onderstaande scherm.

Automatiseer Flash met behulp van Selenium IDE-opname

Stap 2) Onder het flash jar-bestand bevindt zich een aparte flashobjectwebdriver-klasse. Implementeer de flashWebdriver "myFlashmovie" in uw selenium-script zoals hieronder in het scherm wordt getoond.

Automatiseer Flash met behulp van Selenium IDE-opname

Nadat u de webstuurprogrammaklasse “MyFlashMovie” hebt toegevoegd, heeft u toegang tot het Flash-object.

Wanneer moet u flashtests automatiseren?

Normaal gesproken moet u Flash-tests automatiseren als het Flash-object niet gemakkelijk toegankelijk is. Dit testresultaat wordt afgebroken en kan daarom het Flash-object niet testen.

Seleniumscript maken voor Flash-testen.

Stap 1) Om het flashscenario te testen, gebruikt u het flashfilmpje “Guru99”.

http://demo.guru99.com/test/flash-testing.html

Automatiseer Flash met behulp van Selenium IDE-opname

Stap 2) Schrijf er een script in Selenium eclipse en voer het uit. De onderstaande code zal, wanneer uitgevoerd, de volgende dingen 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 separate FlashObjectWebDriver class		
	FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "myFlashMovie");		
  	// Pass the URL of video		
	driver.get("http://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 te spelen en stopt enz.

Uitdagingen bij Flash-testen

  • Het automatiseren van de Flash-app is een uitdaging. Om de Flash-app te automatiseren, kunt u FlexMonkium gebruiken, een add-on voor Selenium IDE.
  • Er kan een probleem optreden bij het inschakelen van Flex-apps voor opnemen/afspelen Selenium-Flexmonkium-integratie. Oplossing is dat de gebruiker Flex Monkium zorgvuldig moet installeren en integreren met Selenium IDE. Correcte installatie zal het mogelijk maken om flash-apps te automatiseren.

Samenvatting

  • Bij Flash-tests moet u controleren of de Flash-video, games, films, enz. naar verwachting werken of niet.
  • U gebruikt flash-attributen zoals object-id om het flash-object te lokaliseren. En daardoor kunt u er bewerkingen op uitvoeren zoals vereist, zoals afspelen, stoppen, etc.
  • Het belangrijkste verschil tussen Flash en andere elementen is dat Flash is ingesloten in SWF-bestanden, terwijl andere elementen zijn ingesloten in HTML-bestanden
  • U moet Flash-tests normaal automatiseren als het Flash-object niet gemakkelijk toegankelijk is.
  • Hulpmiddelen die nuttig zijn bij flashtesten zijn
  1. Selenium
  2. Soap-gebruikersinterface
  3. Test voltooid
  4. Teststudio enz.
  • Het automatiseren van de Flash-app is een uitdaging. Om de Flash-app te automatiseren, kunt u FlexMonkium gebruiken, een add-on voor Selenium IDE.