フラッシュテスト Selenium webdriver
⚡ スマートサマリー
フラッシュテスト Selenium WebDriver は、Flash ベースのビデオ、ゲーム、アニメーションが正しく機能することを検証します。このリソースでは、埋め込み SWF オブジェクトのキャプチャ、オブジェクト ID の割り当て、および再生の自動化について説明します。 Selenium IDEによる記録機能と、信頼性の高い検証のためのFlashObjectWebDriverクラス。

フラッシュテストとは何ですか?
Flash テストは、Flash ベースのビデオ、ゲーム、映画などが期待どおりに動作していることを確認するために使用されるテストの種類です。言い換えれば、Flash の機能をテストすることは、 フラッシュテスト。 Flash は Macromedia (現在は Adobe に買収) が開発した人気のソフトウェアです。ゲーム、アプリケーション、グラフィックベースのアニメーション、映画、 モバイル ゲーム、プログラムなど
In Selenium 要素が一般ロケーターで見つからない場合の自動化 ID、クラス、名前などをタップし、その後、 XPath 特定の要素に対して操作を実行するには、Web ページ上の要素を見つける必要があります。しかし、Flash テストでは、 XPath Flashオブジェクトへのアクセスに失敗します。そのため、アプリケーション内でFlashオブジェクトを見つけるには、Flashwebdriverオブジェクトが必要です。
ここではフラッシュを実行する方法を説明します。 テスト フラッシュテストを行う方法 Selenium.
フラッシュテストの前提条件
開始する前に、Flashアプリケーションをテストするために必要な要件を以下に示します。
- フラッシュアプリケーション。
- 対応ウェブブラウザ。
- Adobe Flash プレーヤーのプラグイン。
ツール- 以下はフラッシュテストに役立つテストツールです。
- Selenium
- ソープUI
- TestComplete
- テストスタジオなど
Selenium は、Webテストにおいて非常に人気のあるツールです。様々なプラットフォームや言語に対応したフレームワークを作成できます。オープンソースツールであり、公式サイトからダウンロード可能です。設定、使用、実装も簡単です。
Flashのテストが他の要素とどう違うのか
前提条件が整ったので、テスト中にFlashが標準のHTML要素とは異なる動作をする理由を理解しておくと役立ちます。
- Flashオブジェクトのキャプチャが難しいのはなぜですか?どのように解決できますか?
Flashは時代遅れの技術です。FlashオブジェクトはHTMLとは異なるため、キャプチャするのが困難です。また、Flashは埋め込み型のSWFファイル(Small Web Format)です。さらに、モバイルデバイスでFlashオブジェクトにアクセスするのも困難です。
開発ping FlashはDevelopよりも難しいping SEO(検索エンジン最適化)の観点からは、HTMLページの方が優れています。なぜなら、Flashは検索エンジンによって完全に読み取ることができないからです。しかし、パフォーマンスやセキュリティなどの問題を克服するために、HTML5のような高度な技術が導入されています。
- Flashアプリケーションはどのような方法でテストされるのですか?
Flash アプリケーションは次の XNUMX つの方法でテストされます。
- マニュアル– Flash オブジェクトはシンプルで簡単にテストできるため、テスト ケースを手動で実行してテストできます。 バグを修正した後、フラッシュが期待どおりに適切に動作していることを確認し、サインオフします。
- 自動化– 次のような自動化ツールを使用してスクリプトを作成します。 Selenium, SoapUI, TestCompleteなどと入力してスクリプトを実行します。
- Flashとその他の要素との違い。
前述のとおり、Flashと他の要素の主な違いは、FlashはSWFファイルに埋め込まれているのに対し、他の要素はHTMLファイルに埋め込まれている点です。そのため、HTMLはFlashに比べてキャプチャしやすいのです。
Flashムービー/FlashアプリのFlashオブジェクトIDを取得するにはどうすればよいですか?
FlashとHTMLの違いが分かったら、次のステップはオブジェクトIDを使ってFlashオブジェクト自体を特定することです。
ウェブページでは、埋め込みマルチメディア(Flash、ActiveX、ビデオなど)には、<object>タグが使用されます。これはHTMLドキュメント内に「埋め込む」ことを意味します。このタグは、インタラクティブコンテンツや外部アプリケーションのために、HTMLドキュメント内の<object />タグまたは<embed />タグで埋め込まれるコンテナを定義します。オブジェクト名は、ウェブページ上のFlashオブジェクトを特定するために使用されます。
例えば、以下の例では、HTMLドキュメントまたはファイル内の「embed」タグでFlashムービーが定義されていることがわかります。
例:
/* 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 などのフラッシュ属性を使用して、フラッシュ オブジェクトを見つけることができます。これにより、必要に応じて再生、停止などの操作を実行できます。
既に述べたように、FlashオブジェクトにはXPathを使用してアクセスすることはできません。そのため、これらのオブジェクトに対して何らかの操作を行うには、開発者は適切なオブジェクトIDを割り当てる必要があります。
以下の画面は、Flash にオブジェクト ID「MyFlashMovie」が割り当てられていることを示しています。
を使用して Flash を自動化する方法 Selenium IDE 録音
オブジェクトIDが割り当てられると、Flashムービー上でのインタラクションを直接記録できます。 Selenium IDE
次を使用してフラッシュを自動化することもできます Selenium IDE
ステップ1) フラッシュアプリケーションを開いてから Selenium IDEは以下の画面に表示されます。
ステップ2) 右側の「赤い録画ボタン」をクリックしてFlashムービーの操作を開始すると、以下に示すような録画されたスクリプトが表示されます。
記録後、ユーザーがスクリプトを実行したい場合は、下の画面に示すように「緑色の実行ボタン」をクリックできます。 Selenium IDE はスクリプトをステップごとに実行します。
を使用して Flash を自動化する方法 Selenium ウェブドライバー
録画機能以上の制御を実現するには、 Selenium WebDriverを使用すると、Flashオブジェクトをプログラムで操作できます。
次を使用してフラッシュを自動化することもできます Selenium Flashwebdriverオブジェクトを介してWebドライバを操作し、Flashオブジェクトを操作するメソッドを呼び出します。 flashwebdriver jar ファイルをダウンロードする:
ステップ1) ダウンロード後、以下の画面に示すように、jarファイルをプロジェクトに追加してください。
ステップ2) Flash JARファイルには、flashobjectwebdriverクラスが別途含まれています。以下の画面に示すように、seleniumスクリプト内でflashWebdriver「myFlashmovie」を実装してください。
ウェブドライバクラス「MyFlashMovie」を追加すると、Flashオブジェクトにアクセスできるようになります。
フラッシュテストを自動化する場合
通常、Flashオブジェクトに容易にアクセスできない場合、Flashテストを自動化する必要があります。アクセスできない場合、テストが中断され、Flashオブジェクトのテストが失敗します。
Flashテスト用のSeleniumスクリプトを作成する
これまでの手順をまとめると、起動と制御を行う完全な動作スクリプトがここにあります。 Guru99 デモフラッシュムービー。
ステップ1) 「Guruフラッシュシナリオをテストするための99秒のフラッシュムービー。
https://demo.guru99.com/test/flash-testing.html
ステップ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 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")); } }
ステップ3) 上記のスクリプトを実行してください。
出力: 上記のスクリプトを実行すると、Flashムービーが再生され、停止するなどの動作が行われます。
フラッシュテストの課題
- Flashアプリの自動化は難しい。Flashアプリを自動化するには、FlexMonkiumを使用できます。これは、 Selenium IDE
- Flexアプリの録画/再生を有効にする際に問題が発生する可能性があります。 Selenium-Flexmonkiumとの統合。解決策は、ユーザーがFlexmonkiumをインストールして統合する必要があることです。 Selenium IDEを慎重にインストールしてください。正しくインストールすれば、Flashアプリの自動化のための録画機能が有効になります。








