Vad är Flashtestning?
testa funktionaliteten av blixten kallas Flash testning. Ibland i din ansökan, kan du behöva kontrollera de särskilda animation Videor, filmer, spel, etc. som arbetar enligt förväntan eller inte. Här måste vi skriva skriptet för att kontrollera funktionaliteten hos flash för att testa denna typ av applikation. Flash är en programvara som utvecklats av Macromedia som nu förvärvas av Adobe. Det används för att utveckla videospel, filmer, mobilspel för iOS och Android, etc. För att spela Flash-applikationerna behöver vi några plugins.
förutsättningar för Flash-testning med Selenium WebDriver
vi bör vara redo med nedanstående krav för att testa flash-applikationen med Selenium WebDriver. Här är listan över förutsättningar:
- Flash – webbapplikation
- Adobe Flash Player-plugins
- inbyggt webbläsarstöd
under redigeringsprogramvaran som krävs för flash-applikationer.
- Adobe Animate
- Flash Builder
- Flash utveckla
- Power Flasher
- Scaleform
för att spela Flash-Program vi behöver följande plugins som listas enligt följande:
- OpenFL
- Adobe Air
- Flash Player
- Gnash
nedan är de testverktyg som krävs i flash testning.
- selen
- TestComplete
- tvål UI
- Test Studio etc.
hur man testar Flash-innehåll med selen?
i allmänhet har det inget gränssnitt för att interagera med ditt Flash-innehåll i Selenium. I ActionScript programmeras Flash-filer som liknar JavaScript. Flash-filer innehåller också programmeringselement. För t. ex. de har också knappar, textruta, radioknappar etc. Flash-filen behöver ringa några interna metoder för att utföra uppgiften. Flash – innehållet på en knapp kan till exempel göra att bakgrundsfärgen på flash-innehållet ändras. Till undsättning använder vi ActionScript, det exponerar en klass som heter externt gränssnitt för utvecklarna. Den här klassen är viktigast om du vill exponera Flashfilens interna metoder för omvärlden. Omvärlden är webbläsaren som är värd för innehållet. Så om vi exponerar våra interna metoder från Flash-fil till webbläsaren kan vi ringa dem direkt med JavaScript.
olika sätt att testa Flash-applikationer
Flash-applikationer kan testas på två sätt Manuell & Automation:
Manual: Det är enkelt och enkelt att testa genom att utföra testfallen manuellt för att testa Flash-objektet.
Automation: För att utföra skriptet måste vi skriva ett skript med hjälp av automatiseringsverktyg som TestComplete, Selenium, SoapUI och Test Studio.
skillnaden mellan Flash och andra element
Flash är inbäddad i SWF-filer där andra element är inbäddade i HTML-filer. Så det är därför jämfört med flash HTML är lätt att fånga.
Hur kan du få en flash-film eller flash app object ID?
på alla webbsidor definierar taggen < objekt > ett inbäddat objekt med alla multimedia som Video, ActiveX, Flash, Java-applets, ActiveX, PDF, etc. på dina webbsidor. Det indikerar ”bädda in” i ett HTML-dokument. Den här taggen beskriver en behållare inbäddad i < object /> eller < embed /> taggar i en HTML för interaktivt innehåll eller externt program. För att hitta flash-objektet på webbsidor används objektnamnet. Du kan också använda taggen< objekt > för att bädda in en annan webbsida i ditt HTML-dokument.
flash-filmen definieras till exempel i en” bädda in ” – tagg i HTML-dokument eller-fil.
exempel:
/* 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>
hur man utför Flash-testning med Selenium Webdriver?
för att importera Flash-biblioteket måste du ladda ner Flash Selenium jar-filen. Du kan ladda ner Flash.jar-fil för Selenium WebDriver via länken https://drive.google.com/drive/folders/0B5v_nInLNoquN3hRbmJFYXpCb28. När nedladdningen är klar måste du lägga till jar-filen i ditt projekt.
när alla nödvändiga förutsättningar är färdiga måste du ringa flashobjectwebdriver-klassen. Denna klass används för att utföra åtgärderna på Flash-spelare.
Syntax:
FlashObjectWebDriver flash = new FlashObjectWebDriver(webDriver, " flash object");
Flash-applikation kan testas på två sätt:
- Utvecklaren kommer att tillhandahålla flashmetoder för testning, kringgå dem via JavaScript-kod.
- oberoende testare har inte tillgång till källkod som tillhandahålls av utvecklare, så testare använder ett bildbaserat verktyg som heter Sikuli, som använder bilder för att utföra användaråtgärder.
skapande av selenium script för Flash-testning.
nedan exempel fungerar programmet som en videospelare
det finns några fördefinierade metoder tillgängliga för att testa youtube flash-applikationer.
- playVideo
- pauseVideo
- mute
- setVolume
- seekTo
exempel:
Step1: Skriv ett Selenium-skript i eclipse och kör det. Nedanstående kod kommer att utföra följande saker när vi kör skriptet.
- starta Chrome-webbläsaren
- starta webbplatsen
- spela upp videon
- stoppa videon
- spola tillbaka videon
om utvecklarna tillhandahåller några flash-metoder visar exemplet nedan att exempelprogrammet följde flash-metoderna.Steg 1:
skapa FlashWebDriver-klass och utför användaråtgärder på flash-applikationen med JavaScript internt.
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); }}
steg 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")); }}
steg 2: Kör ovanstående skript.
utgång: när vi kör ovanstående skript börjar videon spela, stoppa och spola tillbaka videon.
utmaningar i Flash-testning
- för att automatisera flash-applikationen kan du använda FlexMonkium som är ett tillägg för Selenium IDE.
- använda Selenium-Flexmonkium integration kan du möta ett problem för att aktivera inspelning/uppspelning Flex apps. För att lösa problemet måste användaren installera och integrera Flexmonkium till selenium IDE mycket noggrant. Korrekt installation gör det möjligt för posten att automatisera flash-appar.
slutsats:
- i Flash testning, måste du kontrollera de särskilda animation Videor, filmer, spel, etc. som fungerar som förväntat eller inte
- skillnaden mellan flash och annat element är att Flash är inbäddat i SWF-filer, medan andra element är inbäddade i HTML-filer
- för att hitta flash-objektet använder du attribut som object id. Och därför kan du utföra operationer som play, stop, mute, resume, etc.
- testverktyg som krävs i flash-testning.
- selen
- TestComplete
- tvål UI
- Test Studio etc.
- för att spela Flash-applikationerna behöver vi följande plugins som listas enligt följande:
- OpenFL
- Adobe Air
- Flash-spelare
- Gnash