Flash/Flexアプリケーションのテストの自動化
Flash/Flexアプリケーションのテストに対する需要は、ここ数年の間にはるかに重要になってきています。 これは、この技術の使用が拡大していることを示しており、これらのアプリケーションの自動テストの必要性を示しています。 しかし、この必要性はいくつかの質問と問題を提起し、そのうちのいくつかは次の記事で説明します。
具体的には、Flash/Flexアプリケーションの自動化について最初に答えなければならない質問は、正しい自動化技術はどれですか? 移動するには2つの異なる方法があります:
ネイティブマウス&キーボードの統合–必要な最小限のフラッシュの相互作用がある状況に適しています。
APIレベルの統合-多くのFlashインタラクションが必要な状況に適しています。
ネイティブマウス&キーボード統合–これは、マウスの動き、マウスクリック、またはキーボード操作がオペレーティングシステムレベルでシミュレートされる場 これは、我々のアプリケーションの”実際の生活”の使用に非常に近い私たちを取得し、GUIベースのアクションを記録することにより、最も現実的なユーザーシミュレー しかし、この方法を使用すると、いくつかの問題があります。 たとえば、Flashアプリケーションをテストするには、アプリケーションとテスト環境を特別な方法で準備する必要があります。 Flashアプリケーションをテスト可能にするには、使用するテストツールと開発環境に応じてさまざまな方法があります。 TestComplete、Rational Robot、QTPなどの一部のツールでは、コンパイル時または実行時に専用ライブラリ(通常はツールのベンダーが提供する)をFlashアプリケーションに埋め込む必要が このプロセスの詳細は、通常、これらのツールのドキュメント内に記載されています。
Flex/Flashアプリケーションでオブジェクトをキャプチャすることは、それ自体で問題があります。 これを解決するには、主に2つの方法があります:
- デバイスからディスプレイをキャプチャし、画像認識を使用して画面上の目的の要素を特定し、ブラックボックスの方法でアプリケーションを自動化 Nasgplantは、このアプローチを利用したツールの良い例です。 これは、SilkperformerがCitrix環境でどのように動作するかでもあります。
- 使用されているオブジェクトをプロパティに解析し、それらのプロパティを使用してオブジェクトを検索します。 これは、QTPのオブジェクトリポジトリで使用されるのと同じアプローチです。 状態、名前、テキストなどの一般的なFlashオブジェクトのプロパティは、オブジェクトの検索と特定のアクションが実行されたことの確認の両方に使 Rational Robotはこのアプローチの良い例であり、11の異なる検証ポイントを使用して、特定のアクションが行われたことを検証したり、オブジェクトの状態を検証 このアプローチは、ムービーの”再生”ボタンをクリックしたり、確認ダイアログを操作したりするなど、比較的単純なGUI操作をシミュレートしたい人に最適です。
APIレベルの統合-はるかに複雑なFlash/Flexユーザーインターフェイスを持つアプリケーションや100%Flashベースのアプリケーションでは、必要な機能が機能していることを確認することが脆弱で困難なため、GUIキャプチャを使用することは困難です。 このために、APIレベルの統合を使用できます。 このタイプの自動化を行うには、基礎となるFlashオブジェクトを再コンパイル/変更できる必要があります。Flexは、純粋なFlashを使用している場合は再現する必要があるいくつかの自動化Apiを公開しているため、ここからの手順は、FlashまたはFlexのどちらを使用しているかによって異なります。