0

flexmojos 3.9-SNAPSHOT を使用して、air アプリケーションと air ライブラリをテストしたいと考えています。ただし、flexmojos は確かに air をサポートしていますが、Flash Player を使用してビルドによって生成された swf を実行しようとします。また、air ネイティブ ライブラリを使用する必要があるため、adl (AIR デバッグ ランチャー) を使用してテストを実行したいと考えました。

これを行うために、github.com の flexmojos をこのリポジトリ (http://github.com/mi007/flexmojos) に複製しました。次に、生成および実行された TestRunner.swf ファイルの -app.xml を作成するクラスを作成しました。adl TestRunner-app.xml

ただし、テストが終了する前に、ポート 13540 でサーバーを呼び出して何かを報告する必要があります。その場合、次のエラーが発生します。

Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: app:/TestRunner.swf cannot load data from 127.0.0.1:13540.
at org.sonatype.flexmojos.unitestingsupport::ControlSocket/connect()[/Users/rafael/p2d/others/flexmojos/flexmojos-testing/flexmojos-unittest-support/src/main/flex/org/sonatype/flexmojos/unitestingsupport/ControlSocket.as:46]
at org.sonatype.flexmojos.unitestingsupport::TestApplication/runTests()[/Users/rafael/p2d/others/flexmojos/flexmojos-testing/flexmojos-unittest-support/src/main/flex/org/sonatype/flexmojos/unitestingsupport/TestApplication.as:52]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\core\UIComponent.as:9408]
at mx.core::UIComponent/set initialized()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\core\UIComponent.as:1169]
at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\core\UIComponent.as:8733]
at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\core\UIComponent.as:8673]

テスト結果がコンソールに出力されるため、ポート 13539 で以前にサーバーを正常に呼び出していることがわかりました。また、ポート 13540 を開いていることもわかっています。これは、telnet で接続できたためです。しかし、なぜかairアプリからは接続できません。

諸事情により、以下の質問をさせていただきます。

1) このセキュリティ フレームワークがどのように機能するかを理解するために読むことができる適切なドキュメントはありますか? 私が見つけた唯一の文書は、ひどく紛らわしいものでした。

2) 何が起こっているのかについて、何かアイデアやヒントを持っている人はいますか?

3) flexmojos がセキュリティ フレームワークをハックして、フレックス アプリケーションがテスト中に問題なくローカルホストへのソケットを開くことができるようにすることをどこかで読みました。これがどのように行われるかについてのドキュメントはありますか?

ありがとう、

4

1 に答える 1

0

コメントの答えに非常に近い...

~/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust 内のファイルに行を追加して、実行したい swf をカバーする必要があります。これは手動で直接行うか (そのフォルダー内のすべてのファイルが処理されます)、またはFlash Player 設定マネージャーを使用して行うことができます。

于 2011-04-06T08:11:58.723 に答える