フラッシュテスト Selenium webdriver

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

Flash テストは、Flash ベースのビデオ、ゲーム、映画などが期待どおりに動作することを確認するために使用されるテスト タイプです。 言い換えれば、フラッシュの機能をテストすることは、 フラッシュテスト。 Flash は、Mircomedia (現在は Adob​​e に買収) によって開発された非常に人気のあるソフトウェアです。 ゲーム、アプリケーション、グラフィックベースのアニメーション、映画、 モバイル ゲーム、プログラムなど

In Selenium 要素が一般ロケーターで見つからない場合の自動化 ID、クラス、名前など。 それから XPath ウェブページ上の要素を見つけて、その要素に対して操作を実行する必要があります。しかし、Flashテストでは、 XPath フラッシュ オブジェクトへのアクセスに失敗します。 そのため、アプリケーションで Flash オブジェクトを見つけるには、Flashwebdriver オブジェクトが必要です。

フラッシュテスト

ここではフラッシュを実行する方法を説明します。 テスト フラッシュテストを行う方法 Selenium.

フラッシュテストの前提条件

Flash アプリケーションをテストするための要件は次のとおりです。

  1. フラッシュアプ​​リケーション。
  2. ウェブブラウザをサポートします。
  3. Adobe Flash プレーヤーのプラグイン。

ツール-以下はフラッシュテストに役立つテストツールです。

  1. Selenium
  2. ソープUI
  3. テスト完了
  4. テストスタジオなど

Selenium Webテスト用の非常に人気のあるツールです。異なるプラットフォームおよび異なる言語でフレームワークを作成できます。これはオープンソース ツールであり、公式 Web サイトからダウンロードできます。構成、使用、実装は簡単です。

Flash テストと他の要素の違い

  • フラッシュオブジェクトのキャプチャが難しいのはなぜですか? どのように解決されますか?

Flash は時代遅れのテクノロジーです。 Flash オブジェクトは HTML とは異なり、キャプチャすることが困難です。 また、Flash は埋め込み SWF ファイル (Small Web Format) です。 モバイル デバイスで Flash オブジェクトにアクセスすることも困難です。

フラッシュは検索エンジンで完全には読み取れないため、SEO (検索エンジン最適化) の観点から見ると、フラッシュの開発は HTML ページの開発よりも困難です。ただし、パフォーマンスやセキュリティなどの問題を克服するために、HTML 5 などの高度なテクノロジが導入されています。

  • Flash アプリケーションをテストする方法。

Flash アプリケーションは次の XNUMX つの方法でテストされます。

  • マニュアル– Flash オブジェクトはシンプルで簡単にテストできるため、テスト ケースを手動で実行してテストできます。 バグを修正した後、フラッシュが期待どおりに適切に動作していることを確認し、サインオフします。
  • 自動化– などの自動化ツールを使用してスクリプトを作成します。 Selenium、SoapUI、TestComplete などを選択してスクリプトを実行します。
  • Flashと他の要素の違い。

上で述べたように、Flash と他の要素の主な違いは、Flash が SWF ファイルに埋め込まれるのに対し、他の要素は HTML ファイルに埋め込まれることです。 そのため、HTML は Flash に比べてキャプチャしやすいのです。

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

どの Web ページでも、< object > タグは埋め込みマルチメディア (Flash、ActiveX、ビデオなど) に使用されます。 これは、HTML ドキュメント内に「埋め込む」ことを意味します。 このタグは、インタラクティブなコンテンツまたは外部アプリケーション用に、HTML の < object /> または < embed /> タグに埋め込まれたコンテナを定義します。 オブジェクト名は、Web ページ上で Flash オブジェクトを見つけるために使用されます。

たとえば、以下の例では、Flash ムービーが HTML ドキュメントまたはファイルの「embed」タグで定義されていることがわかります。

例:

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

オブジェクト ID を使用して Flash 要素を検索します。

オブジェクト ID などのフラッシュ属性を使用して、フラッシュ オブジェクトを見つけることができます。これにより、必要に応じて再生、停止などの操作を実行できます。

すでに説明したように、XPath を使用して Flash オブジェクトにアクセスすることはできません。 したがって、これらのオブジェクトに対して何らかのアクションを実行するには、開発者は適切なオブジェクト ID を割り当てる必要があります。

以下の画面は、オブジェクト ID「MyFlashMovie」が Flash に割り当てられていることを示しています。

Flashムービー/FlashアプリのFlashオブジェクトID

を使用して Flash を自動化する方法 Selenium IDE 録音

次を使用してフラッシュを自動化することもできます Selenium IDE

ステップ1) Flashアプリケーションを開いてから、 Selenium 以下の画面に示す IDE:

を使用して Flash を自動化する Selenium IDE の記録

ステップ2) 次に、右側の「赤い録画ボタン」をクリックし、Flash ムービーの操作を開始すると、以下のように録画されたスクリプトが表示されます。

を使用して Flash を自動化する Selenium IDE の記録

記録後、ユーザーがスクリプトを実行したい場合は、以下の画面に示すように「緑色の実行ボタン」をクリックします。の Selenium IDE はスクリプトをステップごとに実行します。

を使用して Flash を自動化する Selenium IDE の記録

を使用して Flash を自動化する方法 Selenium ウェブドライバー。

次を使用してフラッシュを自動化することもできます Selenium Flashwebdriverオブジェクトを介してWebドライバーにアクセスし、フラッシュオブジェクトを操作するメソッドを呼び出します。 flashwebdriver jar ファイルをダウンロードする:

ステップ1) ダウンロード後、以下の画面に示すように、jar ファイルをプロジェクトに追加します。

を使用して Flash を自動化する Selenium IDE の記録

ステップ2) Flash jar ファイルの下には、別の flashobjectwebdriver クラスがあります。下の画面に示すように、Selenium スクリプトに flashWebdriver「myFlashmovie」を実装します。

を使用して Flash を自動化する Selenium IDE の記録

Web ドライバー クラス「MyFlashMovie」を追加すると、Flash オブジェクトにアクセスできるようになります。

フラッシュテストを自動化する場合

通常、フラッシュ オブジェクトに簡単にアクセスできない場合は、フラッシュ テストを自動化する必要があります。 この結果、テストが中止され、Flash オブジェクトのテストに失敗します。

Flash テスト用の Selenium スクリプトを作成します。

ステップ1) 「Guru99」Flash ムービーを使用して、Flash シナリオをテストします。

https://demo.guru99.com/test/flash-testing.html

を使用して Flash を自動化する Selenium IDE の記録

ステップ2) にスクリプトを書きます Selenium eclipseで実行してください。以下のコードを実行すると、次のことが行われます。

  • Video Cloud Studioで Firefox ブラウザ、
  • guru99フラッシュサイトを起動し、
  • Flashムービーを再生して、
  • それから映画を止めてください。
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("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"));						
  }		
}

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

出力: 上記のスクリプトを実行すると、Flash ムービーの再生が開始され、停止などが始まります。

フラッシュテストの課題

  • Flash アプリの自動化は課題です。 Flash アプリを自動化するには、Flash アプリのアドオンである FlexMonkium を使用できます。 Selenium IDE
  • を使用して Flex アプリの記録/再生を有効にすると問題が発生する可能性があります。 Selenium-Flexmonkium の統合。解決策としては、ユーザーが Flex monkium を Selenium IDE に慎重にインストールして統合する必要があります。適切にインストールすると、フラッシュ アプリを自動化するための記録が有効になります。

概要

  • Flash テストでは、Flash ビデオ、ゲーム、映画などが期待どおりに動作するかどうかを確認する必要があります。
  • オブジェクト ID などのフラッシュ属性を使用して、フラッシュ オブジェクトを見つけます。これにより、必要に応じて再生、停止などの操作を実行できます。
  • Flash と他の要素の主な違いは、Flash は SWF ファイルに埋め込まれているのに対し、他の要素は HTML ファイルに埋め込まれていることです。
  • 通常、フラッシュ オブジェクトに簡単にアクセスできない場合は、フラッシュ テストを自動化する必要があります。
  • フラッシュテストに役立つツールは次のとおりです。
  1. Selenium
  2. ソープUI
  3. テスト完了
  4. テストスタジオなど
  • Flash アプリの自動化は課題です。 Flash アプリを自動化するには、Flash アプリのアドオンである FlexMonkium を使用できます。 Selenium IDE