Selenium WebDriverを使用したフラッシュテスト

フラッシュテストとは何ですか?

フラッシュの機能をテストすることをフラッシュテストと呼びます。 アプリケーションでは、特定のアニメーションビデオ、映画、ゲームなどを確認する必要がある場合があります。 期待通りに働いているかどうか。 ここでは、このタイプのアプリケーションをテストするためにflashの機能をチェックするスクリプトを記述する必要があります。 FlashはMacromediaが開発したソフトウェアで、現在はAdobeが買収しています。 これは、ビデオゲーム、映画、iOSおよびAndroid用のモバイルゲームなどの開発に使用されます。 Flashアプリケーションを再生するには、いくつかのプラグインが必要です。

Selenium WebDriverを使用したFlashテストの前提条件

Selenium WebDriverを使用してflashアプリケーションをテストするには、以下の要件を準備する必要があります。 前提条件のリストは次のとおりです:

  • Flash Webアプリケーション
  • Adobe Flash Playerプラグイン
  • ネイティブブラウザのサポート

flashアプリケーションに必要なエディタソフトウェアの下に。

  • Adobe Animate
  • Flash Builder
  • Flash Develop
  • Power Flasher
  • Scaleform

Flashアプリケーションを再生するには、以下のプラグインが必要です。:

  • OpenFL
  • Adobe Air
  • Flash Player
  • Gnash

以下は、flashテストに必要なテストツールです。

  • Selenium
  • TestComplete
  • Soap UI
  • Test Studioなど

Seleniumを使用してFlashコンテンツをテストするにはどうすればよいですか?

一般的に、SeleniumでFlashコンテンツと対話するには、インターフェイスがありません。 ActionScriptでは、FlashファイルはJavaScriptに非常によく似たプログラムされています。 Flashファイルには、プログラミング要素も含まれています。 例えば、彼らはあまりにもボタン、テキストボックス、ラジオボタンなどを持っています。 Flashファイルは、タスクを実行するためにいくつかの内部メソッドを呼び出す必要があります。 たとえば、ボタンのflashコンテンツにより、flashコンテンツの背景色が変更される場合があります。 私たちはActionScriptを使用して救助するために、それは開発者のための外部インターフェイスと呼ばれるクラスを公開します。 このクラスは、Flashファイルの内部メソッドを外部に公開する場合に最も重要です。 外の世界は、コンテンツをホストしているブラウザです。 したがって、Flashファイルからブラウザに内部メソッドを公開すると、JavaScriptを使用して直接呼び出すことができます。

Flashアプリケーションをテストするさまざまな方法

Flashアプリケーションをテストするには、手動&自動化:

手動:テストケースを手動で実行してFlashオブジェク

: スクリプトを実行するには、TestComplete、Selenium、SoapUI、Test Studioなどの自動化ツールを使用してスクリプトを作成する必要があります。

Flashと他の要素の違い

FlashはSWFファイルに埋め込まれており、他の要素はHTMLファイルに埋め込まれています。 だから、それがflash HTMLと比較してキャプチャが簡単な理由です。

flashムービーまたはflashアプリのオブジェクトIDを取得するにはどうすればよいですか?

すべてのWebページで、<object>タグは、ビデオ、ActiveX、Flash、Javaアプレット、ActiveX、PDFなどのマルチメディアを含む埋め込みオブジェクトを定義します。 あなたのwebページで。 これは、HTML文書内の”埋め込み”を示します。 このタグは、対話型コンテンツまたは外部アプリケーション用のHTML内の<object/>または<embed/>タグに埋め込まれたコンテナを記述します。 Webページ上のflashオブジェクトを検索するには、オブジェクト名が使用されます。 また、<object>タグを使用して、別のwebページをHTMLドキュメントに埋め込むこともできます。

たとえば、flashムービーはHTMLドキュメントまたはファイルの”embed”タグで定義されています。

:

/* 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>

Selenium Webdriverを使用してFlashテストを実行するには?Flashライブラリをインポートするには、Flash Selenium jarファイルをダウンロードする必要があります。 ダウンロード.Ff14ダウンロード版Ps4リンクhttps://drive.google.com/drive/folders/0B5v_nInLNoquN3hRbmJFYXpCb28を介したSelenium WebDriverのjarファイル。 ダウンロードが完了したら、プロジェクトにjarファイルを追加する必要があります。必要な前提条件がすべて完了したら、FlashObjectWebDriverクラスを呼び出す必要があります。 このクラスは、Flash playerでアクションを実行するために使用されます。

:

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

Flashアプリケーションは、次の二つの方法でテス:

  • 開発者は、JavaScriptコードを介してそれらをバイパスし、テストのためのflashメソッドを提供します。
  • 独立したテスターは開発者が提供するソースコードにアクセスできないため、テスターはSikuliと呼ばれる画像ベースのツールを使用します。

フラッシュテスト用のseleniumスクリプトの作成。

以下のサンプルでは、プログラムはビデオプレーヤーとして機能します

youtube flashアプリケーションをテストするために利用可能ないくつかの事前定義された方

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

例:

ステップ1:eclipseでSeleniumスクリプトを記述して実行します。 以下のコードは、スクリプトを実行するときに次のことを実行します。

  1. Chromeブラウザを起動する
  2. サイトを起動する
  3. ビデオを再生する
  4. ビデオを停止する
  5. ビデオを巻き戻す

開発者がflashメソッドを提供している場合、以下の例はflashメソッドに準拠したサンプルアプリケーションを示している。ステップ1:

Flashwebdriverクラスを作成し、JavaScriptを内部的に使用してflashアプリケーションでユーザーアクションを実行します。

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); }}

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")); }}

ステップ2:上記のスクリプトを実行します。

出力:上記のスクリプトを実行すると、ビデオの再生、停止、巻き戻しが開始されます。

Flashテストにおける課題

  • flashアプリケーションを自動化するには、Selenium IDEのアドオンであるFlexMonkiumを使用できます。
  • Selenium-Flexmonkium統合を使用すると、Flexアプリの記録/再生を有効にする際に問題が発生する可能性があります。 この問題を解決するには、Flexmonkiumをselenium IDEに非常に慎重にインストールして統合する必要があります。 適切なインストールは、flashアプリを自動化するためにレコードを有効にします。

:

  • フラッシュテストでは、特定のアニメーションビデオ、映画、ゲームなどを確認する必要があります。 期待通りに動作するかどうか
  • flashと他の要素の違いは、FlashはSWFファイルに埋め込まれているのに対し、他の要素はHTMLファイルに埋め込まれています
  • したがって、再生、停止、ミュート、再開などの操作を実行できます。
  • フラッシュテストに必要なテストツール。
  1. Selenium
  2. TestComplete
  3. Soap UI
  4. Test Studioなど
  • Flashアプリケーションを再生するには、次のようにリストされている次のプラグインが必要です:
  1. OpenFL
  2. Adobe Air
  3. Flash Player
  4. Gnash

コメントを残す

メールアドレスが公開されることはありません。