Flash-testning med Selenium webbdrivrutin
Vad är Flash-testning?
Flash-testning är en testtyp som används för att kontrollera att flashbaserad video, spel, filmer etc. fungerar som förväntat. Med andra ord är det känt att testa blixtens funktionalitet Flash-testning. Flash är mycket populär programvara utvecklad av Mircomedia (nu förvärvad av Adobe). Det används för att utveckla spel, applikationer, grafiska animationer, filmer, Mobil spel, program etc. In
In Selenium Automatisering, om elementen inte hittas av de allmänna lokaliseringsorganen som id, klass, namn osv. sedan XPath krävs för att hitta ett element på webbsidan för att utföra operation på det specifika elementet. Men i Flash-testning, XPath misslyckas med att komma åt flash-objektet. Så Flashwebdriver-objekt krävs för att hitta flash-objekt i vilken applikation som helst.
Här kommer du att se hur du kör flash Testning och hur man gör blixttest med Selenium.
Förutsättning för Flash-testning
Nedan finns kraven för att testa flashapplikationen
- Flash-applikation.
- Stöd webbläsare.
- Adobe Flash player plugins.
Verktyg-Nedan är testverktygen som är användbara vid flashtestning.
- Selenium
- Tvål UI
- TestComplete
- Teststudio mm.
Selenium är ett mycket populärt verktyg för webbtestning. Du kan skapa ramverk över olika plattformar och på ett annat språk. Det är ett verktyg med öppen källkod och kan laddas ner från den officiella webbplatsen. Det är lätt att konfigurera, använda och implementera.
Hur Flash-testning skiljer sig från andra element
- Varför är det svårt att fånga flashobjekt? Hur löses det?
Flash är en föråldrad teknik. Det är svårt att fånga ett flashobjekt eftersom det skiljer sig från HTML. Flash är också en inbäddad SWF-fil (Small Web Format). Det är också svårt att komma åt Flash-objekt på en mobil enhet.
Att utveckla flash är svårare än att utveckla en HTML-sida med SEO-perspektivet (Search Engine Optimization) eftersom flash inte är fullt läsbart av sökmotorn. Men avancerad teknik som HTML 5 introduceras för att övervinna problem som prestanda och säkerhet.
- På vilka sätt testas flashapplikationen.
Flash-applikationer testas på två sätt:
- Manual - Du kan testa Flash-objektet genom att köra testfall manuellt eftersom det är enkelt och lätt att testa. Efter buggfixering ser du till att flash fungerar som förväntat och ger dig avloggning.
- Automation - Du använder för att skriva ett skript med vilket automatiseringsverktyg som helst Selenium, SoapUI, TestComplete, etc. och kör skriptet.
- Skillnaden mellan Flash och andra element.
Som nämnts ovan är den största skillnaden mellan flash och andra element att Flash är inbäddat i SWF-filer, medan andra element är inbäddade i HTML-filer. Det är därför HTML är lätt att fånga jämfört med flash.
Hur kan du få flashobjekt-ID för flashfilm/flashapp
På alla webbsidor används taggen < objekt > för alla inbäddade multimedia (som Flash, ActiveX, Video etc.). Det innebär "bädda in" i ett HTML-dokument. Denna tagg definierar en behållare inbäddad i < object />- eller < embed />-taggar i en HTML ) för interaktivt innehåll eller extern applikation. Objektnamn används för att lokalisera flash-objekt på webbsidor.
Till exempel, i exemplet nedan kan du se att flashfilmen är definierad i en "embed"-tagg i HTML-dokument eller -fil.
Exempelvis:
/* 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>
Använder objekt-ID för att hitta Flash-element.
Du kan använda flash-attribut som objekt-id för att lokalisera flash-objektet. Och därigenom kan du utföra operationer på den efter behov som att spela, stoppa, etc.
Som redan diskuterats kan Flash-objekt inte nås med XPath. Så för att kunna göra någon åtgärd på dessa objekt måste utvecklaren tilldela lämpligt objekt-ID.
Skärmen nedan visar objekt-ID:t "MyFlashMovie" är tilldelat för Flash:
Hur man automatiserar Flash med Selenium IDE-inspelning
Du kan också automatisera blixten med hjälp av Selenium ID.
Steg 1) Du måste öppna flash-applikationen och sedan Selenium IDE som visas på skärmen nedan:
Steg 2) Klicka nu på "spela in röd knapp" på höger sida och börja göra operationer på Flash-film och sedan hittar du det inspelade manuset som visas nedan:
Om användaren efter inspelningen vill köra skriptet kan de klicka på den "gröna körknappen" som visas på skärmen nedan. De Selenium IDE kommer att köra skriptet steg för steg.
Hur man automatiserar Flash med Selenium Webdriver.
Du kan också automatisera blixten med hjälp av Selenium webbdrivrutin genom Flashwebdriver-objektet och anropa sedan en metod för att använda flash-objekt. Du behöver ladda ner flashwebdriver jar-filer:
Steg 1) Efter nedladdning, lägg till jar-filen i ditt projekt som visas på skärmen nedan.
Steg 2) Under flash jar-filen finns en separat flashobjectwebdriver-klass. Implementera flashWebdriver "myFlashmovie" i ditt selenskript som visas nedan på skärmen.
Efter att ha lagt till webbdrivrutinsklassen "MyFlashMovie" kan du komma åt Flash-objektet.
När ska man automatisera blixttestning
Vanligtvis måste du automatisera Flash-testning när blixtobjektet inte är lättillgängligt. Detta testresultat avbryts och misslyckas därför med att testa Flash-objekt.
Skapar selenskript för Flash-testning.
Steg 1) Du använder "Guru99"-blixtfilmen för att testa blixtscenariot.
http://demo.guru99.com/test/flash-testing.html
Steg 2) Skriv ett manus i Selenium förmörka och utföra den. Nedanstående kod när den körs kommer att göra följande saker
- Öppna Firefox webbläsare,
- Starta guru99 flash-webbplatsen,
- Spela flash-filmen och
- Stoppa sedan filmen.
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")); } }
Steg 3) : Kör skriptet ovan.
Utgång: När ovanstående manus körs börjar flashfilmen att spelas och Stop etc.
Utmaningar i Flash-testning
- Att automatisera flash-appen är en utmaning. För att automatisera flash-appen kan du använda FlexMonkium som är ett tillägg för Selenium ID.
- Du kan få problem att aktivera inspelning/uppspelning av Flex-appar med hjälp av Selenium-Flexmonkium integration. Lösningen är att användaren måste installera och integrera Flex monkium till selen IDE noggrant. Korrekt installation gör det möjligt för inspelning att automatisera flash-appar.
Sammanfattning
- I Flash-testning måste du kontrollera att flashvideo, spel, filmer etc. fungerar som förväntat eller inte.
- Du använder flash-attribut som objekt-id för att lokalisera flash-objektet. Och därigenom kan du utföra operationer på den efter behov som att spela, stoppa, etc.
- Huvudskillnaden mellan flash och andra element är att Flash är inbäddat i SWF-filer, medan andra element är inbäddade i HTML-filer
- Du måste automatisera blixttestning normalt när blixtobjektet inte är lättillgängligt.
- Verktyg som är användbara vid flashtestning är
- Selenium
- Tvål UI
- TestComplete
- Teststudio mm.
- Att automatisera flash-appen är en utmaning. För att automatisera flash-appen kan du använda FlexMonkium som är ett tillägg för Selenium ID.