in reply to Perl to test Flash?

The easy part is to automate the server side. Just get the Mozilla Live HTTP Headers plugin and track what requests the Flash app makes to the server, and (parametrize and) replay them against your server to make sure that the "usual" transactions work and return the expected results.

The hard part will be to automate the Flash application. I'm not aware of a convenient way to extract user interface elements like clickable areas from Flash, so I'd load the application into a browser and then send mouse clicks to it, for example via Win32::GUITest or maybe via WWW::Mechanize::Firefox (but I've never done that, and I'm the author of the module) to automate the application and capture the resulting HTTP requests.

Testing the application itself is much harder, as you need to verify that what displays on the screen remains the same. adamk has written Imager::Search, and there are other Screenshot modules that you can use to compare what the Flash application displays to what you expect. If all else fails, set up the Flash app in a VNC server and then capture the VNC client screen to get an image of what happens even without a (real) display connected. But this part of the automation is highly fragile as even the change of the background colour will mean you have to reacquire the complete test data and confirm the whole test suite manually.

Replies are listed 'Best First'.
Re^2: Perl to test Flash?
by locked_user sundialsvc4 (Abbot) on Mar 11, 2011 at 00:05 UTC

    Excellent thoughts, thank you.

    To clarify ... since I “own” both sides of this application (and can, if need be, add instrumentation or even test-jigs to “the back side”), and since the app is thought to be “working now,” my primary purpose in this case is somewhat specialized.   I want to establish how the app is supposed to be “working” now, so as to be able to automatically detect when it isn’t working any more, i.e. as the unintentional result of a recent change that introduced a bug.   In other words, regression testing.   So I will be mainly looking for differences from a known set of outputs given a known set of simulated-user inputs.   I want to be able to accomplish this automagically and at high speed.   Any report of discrepancies can trigger (manual, human) investigation, which will not need to involve automated assistance.