co to jest Flash Testing?
testowanie funkcjonalności lampy błyskowej nazywa się testowaniem lampy błyskowej. Czasami w aplikacji może być konieczne sprawdzenie konkretnych filmów animowanych, filmów, gier itp. jak działa zgodnie z oczekiwaniami, czy nie. Tutaj musimy napisać skrypt, aby sprawdzić funkcjonalność Flasha do testowania tego typu aplikacji. Flash to oprogramowanie opracowane przez Macromedia, który jest teraz przejęty przez Adobe. Służy do tworzenia gier wideo, filmów, gier mobilnych na iOS i Androida itp. Do odtwarzania aplikacji Flash potrzebujemy kilka wtyczek.
wymagania wstępne do testowania Flash z Selenium WebDriver
powinniśmy być gotowi z poniższymi wymaganiami do testowania aplikacji flash z Selenium WebDriver. Oto lista warunków wstępnych:
- aplikacja internetowa Flash
- wtyczki Adobe Flash Player
- Natywna obsługa przeglądarki
Poniżej znajduje się oprogramowanie edytora wymagane dla aplikacji flash.
- Adobe Animate
- Flash Builder
- Flash Develop
- Power Flasher
- Scaleform
aby odtworzyć aplikacje Flash, potrzebujemy następujących wtyczek, które są wymienione w następujący sposób:
- OpenFL
- Adobe Air
- Flash Player
- Gnash
poniżej znajdują się narzędzia do testowania wymagane w testowaniu flash.
- selen
- TestComplete
- Soap UI
- Studio testowe itp.
jak przetestować zawartość Flash za pomocą Selenium?
ogólnie rzecz biorąc, do interakcji z zawartością Flash w Selenium nie ma interfejsu. W ActionScript programowane są pliki Flash, które są bardzo podobne do JavaScript. Pliki Flash zawierają również elementy programowania. Na przykład mają też przyciski, pole tekstowe, przyciski radiowe itp. Plik Flash musi wywołać kilka wewnętrznych metod, aby wykonać zadanie. Na przykład zawartość flash przycisku może spowodować zmianę koloru tła zawartości flash. Na ratunek korzystamy z ActionScript, eksponuje on klasę o nazwie zewnętrzny interfejs dla programistów. Ta klasa jest najważniejsza, jeśli chcesz narazić wewnętrzne metody plików Flash na świat zewnętrzny. Świat zewnętrzny to przeglądarka, która hostuje treści. Jeśli więc ujawnimy nasze wewnętrzne metody z pliku Flash do przeglądarki, możemy je wywołać bezpośrednio za pomocą JavaScript.
różne sposoby testowania aplikacji Flash
aplikacje Flash można testować na dwa sposoby ręczny& Automatyzacja:
ręczny: testowanie jest proste i łatwe, wykonując przypadki testowe ręcznie, aby przetestować obiekt Flash.
Automatyka: Aby wykonać skrypt, musimy napisać skrypt za pomocą narzędzi automatyzacji, takich jak TestComplete, Selenium, SoapUI i Test Studio.
różnica między Flashem a innymi elementami
Flash jest osadzony w plikach SWF, gdzie inne elementy są osadzone w plikach HTML. Dlatego w porównaniu z flash HTML jest łatwy do przechwycenia.
jak uzyskać Flash movie lub flash app object ID?
na wszystkich stronach internetowych znacznik < object > definiuje osadzony obiekt z dowolnymi multimediami, takimi jak wideo, ActiveX, Flash, aplety Java, ActiveX, PDF itp. na twoich stronach internetowych. Oznacza „osadzenie” w dokumencie HTML. Ten znacznik opisuje kontener osadzony w znacznikach< object /> lub< embed / > w HTML dla zawartości interaktywnej lub aplikacji zewnętrznej. Do zlokalizowania obiektu flash na stronach internetowych używana jest nazwa obiektu. Możesz również użyć znacznika <object>, aby osadzić inną stronę internetową w dokumencie HTML.
na przykład film flash jest zdefiniowany w znaczniku „osadzanie” w dokumencie HTML lub pliku.
przykład:
/* 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>
jak przeprowadzić testowanie Flasha przy użyciu Selenium Webdriver?
aby zaimportować bibliotekę Flash, musisz pobrać plik Flash Selenium jar. Możesz pobrać Flasha.plik jar dla Selenium WebDriver poprzez link https://drive.google.com/drive/folders/0B5v_nInLNoquN3hRbmJFYXpCb28. Po zakończeniu pobierania należy dodać plik jar do projektu.
po zakończeniu wszystkich wymaganych warunków wstępnych musisz zadzwonić do klasy FlashObjectWebDriver. Ta klasa jest używana do wykonywania operacji na odtwarzaczach Flash.
:
FlashObjectWebDriver flash = new FlashObjectWebDriver(webDriver, " flash object");
aplikacja Flash może być testowana na dwa sposoby:
- programista dostarczy metody flash do testowania, omijając je za pomocą kodu JavaScript.
- niezależni testerzy nie mają dostępu do kodu źródłowego dostarczanego przez programistów, więc testerzy używają narzędzia Sikuli opartego na obrazach, które wykorzystuje obrazy do wykonywania działań użytkownika.
tworzenie skryptu selenium do testowania Flasha.
poniżej przykładowy program działa jako odtwarzacz wideo
istnieją pewne wstępnie zdefiniowane metody testowania aplikacji Flash youtube.
- playVideo
- pauseVideo
- Wycisz
- setVolume
- seekTo
przykład:
Krok 1: Napisz skrypt Selenium w eclipse i wykonaj go. Poniższy kod wykona następujące czynności podczas wykonywania skryptu.
- Uruchom przeglądarkę Chrome
- Uruchom witrynę
- Odtwórz wideo
- Zatrzymaj wideo
- Przewiń wideo
jeśli programiści udostępniają niektóre metody flash, poniższy przykład pokazuje przykładową aplikację zgodną z metodami flash.Krok 1:
Utwórz klasę FlashWebDriver i wykonuj akcje użytkownika w aplikacji flash używając JavaScript wewnętrznie.
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); }}
Krok 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")); }}
Krok 2: Wykonaj powyższy skrypt.
wyjście: po wykonaniu powyższego skryptu wideo zaczyna się odtwarzać, zatrzymywać i przewijać wideo.
wyzwania w testowaniu Flasha
- aby zautomatyzować aplikację flash, możesz użyć FlexMonkium, który jest dodatkiem do Selenium IDE.
- korzystając z integracji Selenium-Flexmonkium, możesz napotkać problem z włączeniem nagrywania / odtwarzania aplikacji Flex. Aby rozwiązać ten problem, użytkownik musi bardzo ostrożnie zainstalować i zintegrować system Flexmonki z selenium IDE. Prawidłowa instalacja umożliwi zapisowi automatyzację aplikacji flash.
podsumowanie:
- w testach Flash musisz sprawdzić konkretne filmy animowane, filmy, gry itp. ponieważ działa zgodnie z oczekiwaniami lub nie
- różnica między Flashem a innym elementem polega na tym, że Flash jest osadzony w plikach SWF, podczas gdy inne elementy są osadzone w plikach HTML
- aby zlokalizować obiekt flash, używasz atrybutów, takich jak ID obiektu. Dlatego możesz wykonywać operacje takie jak odtwarzanie, zatrzymywanie, wyciszanie, wznawianie itp.
- narzędzia testujące wymagane w testach flash.
- selen
- TestComplete
- Soap UI
- Test Studio itp.
- aby odtworzyć aplikacje Flash potrzebujemy następujących wtyczek, które są wymienione w następujący sposób:
- OpenFL
- Adobe Air
- Flash Player
- Gnash