Flash-testen met Selenium WebDriver

Wat is Flash-testen?

Flash-testen is een testtype dat wordt gebruikt om te controleren of de op flash gebaseerde video, games, films, enz. werken zoals verwacht. 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, mobiele games, programma's, enz. te ontwikkelen

In Selenium Automation, als de elementen niet worden gevonden door de algemene locators zoals id, klasse, naam, etc . 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 krijgt geen toegang tot het flash-object. Het Flashwebdriver-object is dus vereist om het Flash-object in elke toepassing te vinden.

Hier ziet u hoe u flash-testen uitvoert en hoe u flash-tests uitvoert met Selenium.

In deze tutorial leer je-

Voorwaarde voor Flash-testen

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

  1. Flash-toepassing.
  2. Ondersteuning webbrowser.
  3. Adobe Flash player-plug-ins.

Gereedschap- Hieronder staan ​​de testtools die handig zijn bij flash-testen.

  1. Selenium
  2. Zeep UI
  3. TestVoltooid
  4. Teststudio enz.

Selenium is een zeer populaire tool voor webtests. U kunt een raamwerk maken 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 verschilt 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 ook een ingesloten SWF-bestand (Small Web Format). Het is ook moeilijk om toegang te krijgen tot Flash-objecten op een mobiel apparaat.

Het ontwikkelen van flash is moeilijker dan het ontwikkelen van HTML-pagina's met het SEO-perspectief (Zoekmachineoptimalisatie), omdat flash niet volledig leesbaar is voor de zoekmachine. Er worden echter geavanceerde technologieën zoals HTML 5 geïntroduceerd om problemen zoals prestaties en beveiliging op te lossen.

  • Op welke manieren flash-applicatie wordt getest.

Flash-applicaties worden op twee manieren getest:

  • Handboek - U kunt het Flash-object testen door testgevallen handmatig uit te voeren, omdat het eenvoudig en gemakkelijk te testen is. Na het oplossen van de bug zorg je ervoor dat flash naar behoren werkt zoals verwacht en geef je afmelding.
  • Automatisering – U schrijft een script met behulp van een automatiseringstool zoals Selenium, SoapUI, TestComplete, enz. En voert het script uit.
  • Verschil tussen de Flash 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 een flash-object-ID van flash-film / flash-app krijgen?

Op alle webpagina's wordt de tag gebruikt voor alle ingesloten multimedia (zoals Flash, ActiveX, Video enz.). Het impliceert 'insluiten' in een HTML-document. Deze tag definieert een container die is ingebed in of tags in een HTML ) voor interactieve inhoud of externe toepassingen. 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*/ 

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 desgewenst bewerkingen op uitvoeren, zoals afspelen, stoppen, enz.

Zoals reeds besproken, zijn Flash-objecten niet toegankelijk met XPath. Dus om enige actie op deze objecten uit te voeren, moet de ontwikkelaar de juiste object-ID toewijzen.

Onderstaand scherm toont de object-ID 'MyFlashMovie' die is toegewezen aan de Flash:

Hoe u Flash kunt automatiseren met Selenium IDE-opname

U kunt de flash ook automatiseren met Selenium IDE.

Stap 1) U moet de flash-toepassing openen en vervolgens Selenium IDE, zoals weergegeven in het onderstaande scherm:

Stap 2) Klik nu op 'rode knop opnemen' aan de rechterkant en begin met het uitvoeren van de bewerking op Flash-film en dan vindt u het opgenomen script zoals hieronder weergegeven:

Als de gebruiker na het opnemen het script wil uitvoeren, kan hij op de 'groene knop Uitvoeren' klikken, zoals weergegeven in het onderstaande scherm. De Selenium IDE zal het script stap voor stap uitvoeren.

Hoe u Flash kunt automatiseren met Selenium Webdriver.

U kunt de flash ook automatiseren met Selenium-webstuurprogramma via het Flashwebdriver-object en vervolgens een methode aanroepen om het flash-object te bedienen. Jij moet download flashwebdriver jar-bestanden :

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

Stap 2) Onder flash jar-bestand is er een aparte klasse flashobjectwebdriver. Implementeer de flashWebdriver 'myFlashmovie' in uw seleniumscript zoals hieronder in het scherm wordt weergegeven.

Nadat u de webstuurprogrammaklasse 'MyFlashMovie' hebt toegevoegd, krijgt u toegang tot het Flash-object.

Wanneer flash-testen automatiseren?

Gewoonlijk moet u Flash-tests automatiseren wanneer het flash-object niet gemakkelijk toegankelijk is. Dit resultaat bij het testen wordt afgebroken en kan daarom het Flash-object niet testen.

Seleniumscript maken voor Flash-testen.

Stap 1) Je gebruikt de 'Guru99' flash movie om het flash scenario te testen.

https://demo.on2vhf.be/test/flash-testing.html

Stap 2) Schrijf een script in Selenium eclipse en voer het uit. Onderstaande code zal wanneer uitgevoerd de volgende dingen doen:

  • Open de Firefox-browser,
  • Start de on2vhf 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('https://demo.on2vhf.be/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.

Uitgang : Bij uitvoering van het bovenstaande script begint de flash-film 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.
  • U kunt problemen ondervinden om Flex-apps voor opnemen / afspelen in te schakelen met behulp van Selenium-Flexmonkium-integratie. Oplossing is dat de gebruiker Flex Monkium zorgvuldig moet installeren en integreren in selenium IDE. Een juiste installatie stelt record in staat om flash-apps te automatiseren.

Samenvatting:

  • Bij Flash-testen moet u controleren of de flash-video, games, films, enz. werken zoals verwacht of niet.
  • U gebruikt flash-attributen zoals object-id om het flash-object te lokaliseren. En daardoor kunt u er desgewenst bewerkingen op uitvoeren, zoals afspelen, stoppen, enz.
  • 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 wanneer het flash-object niet gemakkelijk toegankelijk is.
  • Hulpmiddelen die nuttig zijn bij flash-testen zijn:
  1. Selenium
  2. Zeep UI
  3. TestVoltooid
  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.