Flash testen met Selenium WebDriver

Wat is Flash testen?

testen de functionaliteit van de flash wordt Flash Testing genoemd. Soms in uw toepassing, je kan hebben om de bijzondere animatie video ‘ s te controleren, films, games, enz. zoals het werkt volgens verwachting of niet. Hier moeten we het script schrijven om de functionaliteit van flash te controleren om dit type toepassing te testen. Flash is een software ontwikkeld door Macromedia die nu is overgenomen door Adobe. Het wordt gebruikt voor het ontwikkelen van video games, films, mobiele games voor iOS en Android, enz. Om de Flash-toepassingen te spelen hebben we een aantal plugins nodig.

vereisten voor Flash testen met Selenium WebDriver

we moeten klaar zijn met de onderstaande vereisten om de flash applicatie te testen met Selenium WebDriver. Hier is de lijst van vereisten:

  • Flash-webtoepassing
  • Adobe Flash Player-plugins
  • ondersteuning voor eigen browser

onder de editorsoftware die nodig is voor flash-toepassingen.

  • Adobe Animeren
  • Flash Builder
  • Flash Ontwikkelen
  • Power Flitser
  • Scaleform

om Te spelen de Flash-applicaties hebben wij de volgende plugins die worden vermeld als volgt:

  • OpenFL
  • Adobe Air
  • Flash-Speler
  • Gnash

Hieronder vindt u de Testing tools vereist in flash te testen.

  • seleen
  • TestComplete
  • Soap UI
  • Teststudio enz.

hoe het Flitsgehalte te testen met Selenium?

in het algemeen heeft het geen interface om te interageren met uw Flash-inhoud in Selenium. In ActionScript worden Flash-bestanden geprogrammeerd die erg lijken op JavaScript. Flash-bestanden bevatten ook programmeerelementen. Voor bijvoorbeeld Zij hebben ook knoppen, tekstvak, keuzerondjes, enz. Het Flash-bestand moet een aantal interne methoden aanroepen om de taak uit te voeren. Bijvoorbeeld, de flash-inhoud van een knop kan leiden tot de achtergrondkleur van flash-inhoud te veranderen. Tot de redding gebruiken we de ActionScript, het bloot een klasse genaamd externe Interface voor de ontwikkelaars. Deze klasse is het belangrijkst als u de interne methoden van het Flash-bestand aan de buitenwereld wilt blootstellen. De buitenwereld is de Browser die de inhoud host. Dus als we onze interne methoden bloot van Flash-bestand naar de Browser dan kunnen we ze direct bellen met behulp van JavaScript.

verschillende manieren om Flitstoepassingen te testen

Flitstoepassingen kunnen op twee manieren worden getest Manual & Automation:

Manual: het is eenvoudig en gemakkelijk te testen door de testcases handmatig uit te voeren om het Flitsobject te testen.

automatisering: Om het script uit te voeren, moeten we een script schrijven met behulp van automatiseringstools zoals TestComplete, Selenium, SoapUI en Test Studio.

verschil tussen de Flash en andere elementen

Flash is ingebed in SWF-bestanden waar andere elementen zijn ingebed in HTML-bestanden. Dus, dat is de reden waarom in vergelijking met flash HTML is gemakkelijk vast te leggen.

Hoe kunt u een flash movie of flash app object ID krijgen?

op alle webpagina ‘ s definieert de tag < object > een ingesloten object met elke multimedia zoals Video, ActiveX, Flash, Java-applets, ActiveX, PDF, enz. in uw webpagina ‘ s. Het geeft aan” insluiten ” in een HTML-document. Deze tag beschrijft een container ingebed in < object / > of < embed /> tags in een HTML voor interactieve inhoud of externe toepassing. Om het flash-object op webpagina ‘ s te vinden, wordt de objectnaam gebruikt. U kunt ook de tag <object> gebruiken om een andere webpagina in uw HTML-document in te voegen.

bijvoorbeeld, de flash-film wordt gedefinieerd in een” embed ” – tag in HTML-document of-bestand.

voorbeeld:

/* Html page*/<html><body marginwidth="0" marginheight="0"><embed width="100%" height="100%" name="plugin" src="http://video/movieplay.swf" type="application/flash"/></body></html>

hoe Flash testen met Selenium Webdriver uit te voeren?

om de Flash-bibliotheek te importeren, moet u het Flash Selenium jar-bestand downloaden. U kunt de Flash downloaden.jar-bestand voor Selenium WebDriver via de link https://drive.google.com/drive/folders/0B5v_nInLNoquN3hRbmJFYXpCb28. Zodra het downloaden is voltooid, moet u het jar-bestand aan uw project toevoegen.

als alle vereiste vereisten klaar zijn, dan moet je FlashObjectWebDriver class aanroepen. Deze klasse wordt gebruikt om de acties uit te voeren op Flash-spelers.

syntaxis:

FlashObjectWebDriver flash = new FlashObjectWebDriver(webDriver, " flash object");

Flash applicatie kan op twee manieren worden getest:

  • Ontwikkelaar zal flash methoden voor het testen, omzeilen ze door middel van JavaScript-code.
  • onafhankelijke testers hebben geen toegang tot de broncode van ontwikkelaars, dus testers gebruiken een op afbeeldingen gebaseerde tool genaamd Sikuli, die afbeeldingen gebruikt om acties van gebruikers uit te voeren.

aanmaken van seleniumscript voor Flash-testen.

onder voorbeeld werkt het programma als een videospeler

er zijn enkele vooraf gedefinieerde methoden beschikbaar voor het testen van youtube flash-toepassingen.

  1. playVideo
  2. pauseVideo
  3. dempen
  4. setVolume
  5. seekTo

voorbeeld:

Step1: Schrijf een seleniumscript in eclipse en voer het uit. De onderstaande code zal de volgende dingen uitvoeren wanneer we het script uitvoeren.

  1. start de Chrome-browser
  2. start de site
  3. Speel de video
  4. Stop de video
  5. spoel de video

als de ontwikkelaars een aantal flash-methoden aanbieden, toont het onderstaande voorbeeld dat de voorbeeldtoepassing voldoet aan de flash-methoden.Stap 1:

maak FlashWebDriver-klasse aan en voer gebruikersacties uit op de flash-toepassing met JavaScript intern.

package com.java.selenium;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;public class FlashTesting{ private final WebDriver webdriver; private final String flashObjectId ; public FlashWebDriver(final WebDriver webdriver,final String flashObjectId) { this.webdriver=webdriver; this.flashObjectId=flashObjectId; } public String click(final String objectId,final String buttonLabel) { return callFlashObject("DoFlashClick",objectId,buttonLabel); } public String click(final String objectId) { return callFlashObject(objectId,""); } public String callFlashObject(final String functionName,final String... args) { final Object result=((JavascriptExecutor) webdriver).executeScript (makeJsFuntion(functionName,args), new Object); return result!=null ? result.toString() :null;}private String makeJsFuntion(final String functionName,final String... args) {final StringBuffer functionArgs=new StringBuffer(); if(args.length>0) { for(int i=0;i<args.length;i++) { if(i>0) { functionArgs.append(","); } functionArgs.append(String.format("'%1$s'", args)); } }return String.format("return document.%1$s.%2$s(%3$s);", flashObjectId, functionName,functionArgs); }}

Step 2:

package com.java.selenium;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;public class FlashTesting { public static void main(String args) throws InterruptedException {WebDriver driver;System.setProperty("webdriver.gecko.driver", "C:\drivers\geckodriver.exe");driver = new FirefoxDriver();driver.get("http://www.permadi.com/tutorial/flashjscommand/");driver.manage().window().maximize();FlashWebDriver flashApp = new FlashWebDriver(driver, "myFlashMovie");flashApp.callFlashObject("Play"); // first numberThread.sleep(3000L);flashApp.callFlashObject("StopPlay"); // operationThread.sleep(3000L);flashApp.callFlashObject("Rewind"); System.out.println(flashApp.callFlashObject("GetVariable","/:message"));flashApp.callFlashObject("SetVariable","/:message","Learn Flash testing with Webdriver");System.out.println(flashApp.callFlashObject("GetVariable","/:message")); }}

Stap 2: Voer het bovenstaande script uit.

uitvoer: zodra we het bovenstaande script uitvoeren begint de video af te spelen, te stoppen en de video terug te spoelen.

Challenges in Flash Testing

  • om de flash-toepassing te automatiseren, kunt u FlexMonkium gebruiken, een add-on voor Selenium IDE.
  • met behulp van Selenium-Flexmonkium-integratie kunt u een probleem tegenkomen om flex-apps voor opnemen/afspelen in te schakelen. Om het probleem op te lossen moet de gebruiker Flexmonkium installeren en integreren met selenium IDE zeer zorgvuldig. Een goede installatie zal het record mogelijk maken om flash apps te automatiseren.

conclusie:

  • in Flash testen, je nodig hebt om de specifieke animatie video ‘ s, films, games, enz. het verschil tussen flash en ander element is dat Flash is ingebed in SWF-bestanden, terwijl andere elementen zijn ingebed in HTML-bestanden
  • om het flash-object te lokaliseren dat u attributen zoals object id gebruikt. En daarom kunt u bewerkingen uitvoeren zoals Spelen, stoppen, dempen, hervatten, enz.
  • testgereedschap vereist voor flash-tests.
  1. Selenium
  2. TestComplete
  3. Soap UI
  4. Teststudio enz.
  • om de Flash-toepassingen te spelen hebben we de volgende plugins nodig die als volgt worden weergegeven:
  1. OpenFL
  2. Adobe Air
  3. Flash Player
  4. Gnash

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.