5

私は Flex コンポーネントに取り組んでおり、その自動テストを書きたいと思っています。問題は、私が調べた UI テスト ツール ( FlexMonkeyおよびSelenium Flex API ) が「十分に」シミュレートしていないことです。

これまでに発生したバグのほとんどは、Flex がドラッグ アンド ドロップを処理する方法に関連しており、これらのライブラリは十分に正確にシミュレートできません。たとえば、コンポーネントの下半分で発生する「ドロップ」イベントがあるケースをテストする必要があります。FlexMonkey も Selenium Flex API もそれを行うことができません (マウス イベントをシミュレートすることはできますが、含まれません)。座標)。

では、そのようなテストを自動化する「良い」方法はありますか?

編集:多くの調査の結果、これを実行できる唯一のソフトウェアはiMacrosであり、これはWindowsのみであり、インターフェースは...欠けているようです。だから私は自分自身を書くつもりです。基本的に、HTTP インターフェースを配置してjava.awt.Robot、コード (任意の言語) がマウス/キーボード イベントをシミュレートできるようにします。興味がある場合は、私に PM を送信してください。最新情報をお知らせします。

編集 2 : 私が書いたフレームワークの最初のバージョンである Blunderbuss を BitBucket: http://bitbucket.org/wolever/blunderbuss/で公開しました。これを実行するには Jython ( http://www.jython.org/ ) が必要ですが、その後はこのflex-client例が機能するはずです。

Blunderbuss のビデオは Vimeo でライブ配信されています。

現時点では、これは概念実証のままです。クリーンアップしてより使いやすくするサイクルがありません…しかし、私を悩ませている十分な人々が私にその時間を与えるでしょう:)

4

4 に答える 4

4

コードにフックを追加せずに、Eggplantを使用してFlashアプリとAIRアプリをテストしました。これは素晴らしいツールですが、かなり高価です。システムにVNCを使用して実際のユーザーをシミュレートし、画像認識を使用してアプリを操作します。

于 2009-12-15T14:46:22.390 に答える
2

私は間違いなくあなたのカスタム Java クラスに興味があります。(私は Java が得意ではありませんが (まだ...))、これを共同で行うことを考えている場合は、喜んでお手伝いします。

Flash MouseEvents について。残念ながら、Flash でのドラッグ アンド ドロップ エクスペリエンスを正確にシミュレートする方法はありません。MouseEvents は、マウスによって生成されると、通常のイベントとは非常に異なる方法で処理されますが、イベントを処理関数に渡すか、ディスパッチャに新しい DragEvent( DragEvent.DRAG_DROP..., itまた、一部の機能 (クリップボードへのアクセスの取得など) については、Flash 内で目的を達成することはできません。

正直なところ、おそらく正しい方向に向かっているでしょう。Flash で記述されていないものを使用して偽のマウス イベントを駆動することが、おそらく最善の策です。

于 2009-09-24T06:40:48.073 に答える
1

自動ホットキーを試すこともできます。これは同様にマクロ編集プログラムですが、非常に効率的であることが証明されており、スクリプトを記述して非常に簡単に設定できます。

于 2009-07-15T20:43:03.473 に答える
1

Flexで使用する必要はありませんでしたが、最近、MS Surface SDKの自動化パッケージに関する情報に出くわしました...これらのクラスを調べた後、テストに使用できる自動化されたユーザーの動作、つまり偽のマウスをこれに移動しますポイント、このアクションを実行します。Flex mx.automation パッケージとクラスを使用しているため。私の推測 (および希望) は、これらのクラスを使用して目的を達成できることです。

于 2009-07-15T20:08:40.283 に答える