Flash-testning med Selenium webbdrivrutin
โก Smart sammanfattning
Flash-testning med Selenium WebDriver verifierar att Flash-baserade videor, spel och animationer fungerar korrekt. Den hรคr resursen fรถrklarar hur man fรฅngar inbรคddade SWF-objekt, tilldelar objekt-ID:n och automatiserar uppspelning med hjรคlp av Selenium IDE-inspelning och FlashObjectWebDriver-klassen fรถr tillfรถrlitlig validering.
Vad รคr Flash-testning?
Flashtestning รคr en testtyp som anvรคnds fรถr att kontrollera att flashbaserad video, spel, filmer etc. fungerar som fรถrvรคntat. Med andra ord kallas testning av flashens funktionalitet Flash-testning. Flash รคr en populรคr programvara utvecklad av Macromedia (nu uppkรถpt av Adobe). Den anvรคnds fรถr att utveckla spel, applikationer, grafikbaserade animationer, filmer, Mobil spel, program etc.
In Selenium Automatisering, om elementen inte hittas av de allmรคnna lokaliseringsorganen som id, klass, namn osvoch sedan XPath krรคvs fรถr att hitta ett element pรฅ webbsidan fรถr att utfรถra en รฅtgรคrd pรฅ just det elementet. Men i Flash-testning, XPath misslyckas med att komma รฅt ett flash-objekt. Sรฅ ett Flashwebdriver-objekt krรคvs fรถr att hitta ett flash-objekt i valfri applikation.
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
Innan du bรถrjar รคr fรถljande krav fรถr att testa ett flashprogram:
- Flash-applikation.
- Webblรคsare som stรถds.
- 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 ett ramverk pรฅ olika plattformar och pรฅ olika sprรฅk. Det รคr ett verktyg med รถppen kรคllkod och kan laddas ner frรฅn den officiella webbplatsen. Det รคr enkelt att konfigurera, anvรคnda och implementera.
Hur Flash-testning skiljer sig frรฅn andra element
Nu nรคr fรถrkunskapskraven รคr klara hjรคlper det att fรถrstรฅ varfรถr Flash beter sig annorlunda รคn vanliga HTML-element under testning.
- Varfรถr รคr det svรฅrt att fรฅnga objekt med blixt? Hur lรถser man det?
Flash รคr en fรถrรฅldrad teknik. Det รคr svรฅrt att avbilda ett Flash-objekt 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 ett Flash-objekt pรฅ en mobil enhet.
Utvecklaping Flash รคr svรฅrare รคn utvecklingping en HTML-sida ur SEO-perspektivet (sรถkmotoroptimering) eftersom Flash inte รคr helt lรคsbart fรถr sรถkmotorer. Avancerade tekniker som HTML 5 introduceras dock fรถr att รถvervinna problem som prestanda och sรคkerhet.
- Pรฅ vilka sรคtt testas en flash-applikation?
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 skriver ett skript med hjรคlp av valfritt automatiseringsverktyg som 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รคttare att lรคsa in jรคmfรถrt med Flash.
Hur kan man fรฅ tag pรฅ Flash-objekt-ID:t fรถr en Flash-film/Flash-app?
Nรคr du vรคl vet hur Flash skiljer sig frรฅn HTML รคr nรคsta steg att lokalisera sjรคlva Flash-objektet genom dess objekt-ID.
Pรฅ alla webbsidor anvรคnds taggen <object> fรถr all inbรคddad multimedia (som Flash, ActiveX, video etc.). Den innebรคr att den kan "bรคddas in" i ett HTML-dokument. Taggen definierar en behรฅllare som รคr inbรคddad i taggarna <object /> eller <embed /> i ett HTML-dokument fรถr interaktivt innehรฅll eller en extern applikation. Objektnamnet anvรคnds fรถr att hitta Flash-objektet pรฅ webbsidor.
I exemplet nedan kan du till exempel se att flashfilmen definieras i en "embed"-tagg i ett HTML-dokument eller en fil.
Exempel:
/* 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รคnda 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 utfรถra nรฅgon รฅtgรคrd pรฅ dessa objekt mรฅste utvecklaren tilldela ett lรคmpligt objekt-ID.
Skรคrmen nedan visar objekt-ID:t "MyFlashMovie" som har tilldelats Flash:n:
Hur man automatiserar Flash med Selenium IDE-inspelning
Med det tilldelade objekt-ID:t kan du spela in interaktioner pรฅ Flash-filmen direkt via Selenium ID.
Du kan ocksรฅ automatisera blixten med hjรคlp av Selenium ID.
Steg 1) Du mรฅste รถppna flash-appen och sedan Selenium IDE som visas pรฅ skรคrmen nedan:
Steg 2) Klicka nu pรฅ den "rรถda inspelningsknappen" till hรถger och bรถrja utfรถra operationer pรฅ Flash-filmen, sรฅ hittar du det inspelade skriptet som visas nedan:
Om anvรคndaren vill kรถra skriptet efter inspelningen kan de klicka pรฅ den "grรถna kรถrknappen" som visas pรฅ skรคrmen nedan. Selenium IDE kommer att kรถra skriptet steg fรถr steg.
Hur man automatiserar Flash med Selenium Webdriver
Fรถr mer kontroll รคn vad inspelning erbjuder, Selenium Med WebDriver kan du driva Flash-objektet programmatiskt.
Du kan ocksรฅ automatisera blixten med hjรคlp av Selenium webbdrivrutinen genom Flashwebdriver-objektet och sedan anropa en metod fรถr att operera pรฅ Flash-objektet. Du mรฅste ladda ner flashwebdriver jar-filer:
Steg 1) Efter nedladdningen, 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 flashWebdrivern "myFlashmovie" i ditt Selenium-skript som visas nedan pรฅ skรคrmen.
Efter att du har lagt till webbdrivrutinsklassen "MyFlashMovie" kan du komma รฅt Flash-objektet.
Nรคr ska man automatisera blixttestning
Vanligtvis behรถver man automatisera Flash-testning nรคr Flash-objektet inte รคr lรคttรฅtkomligt. Detta resulterar i att testet avbryts och dรคrmed misslyckas med att testa Flash-objektet.
Skapa ett seleniumskript fรถr Flash-testning
Genom att sammanfรถra de fรถregรฅende stegen, hรคr รคr ett komplett fungerande skript som startar och styr Guru99 demo flashfilm.
Steg 1) Du anvรคnder โGuru99โ flashfilm fรถr att testa flashscenariot.
https://demo.guru99.com/test/flash-testing.html
Steg 2) Skriv ett manus i Selenium eclipse och kรถr den. Koden nedan, nรคr den kรถrs, kommer att gรถra fรถljande:
- ร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 a separate FlashObjectWebDriver class FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "myFlashMovie"); // Pass the URL of video driver.get("https://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 ovanstรฅende skript.
Produktion: Nรคr ovanstรฅende skript kรถrs bรถrjar flashfilmen spelas upp och stoppas, etc.
Utmaningar i Flash-testning
- Att automatisera en flash-app รคr en utmaning. Fรถr att automatisera en flash-app kan du anvรคnda FlexMonkium, vilket รคr ett tillรคgg fรถr Selenium ID.
- Du kan stรถta pรฅ problem med att aktivera inspelning/uppspelning av Flex-appar med hjรคlp av Selenium-Flexmonkium-integration. Lรถsningen รคr att anvรคndaren behรถver installera och integrera Flexmonkium med Selenium IDE noggrant. Korrekt installation mรถjliggรถr inspelning fรถr att automatisera flash-appar.









