@trevorbutler - Here are my 2 cents, but the group may have a different perspectives for your questions.
Currently, we suggest the use of the CIListener class as a FU4 listener for use when building your test SWF to run via the FU4 Ant task. This class (http://opensource.adobe.com/svn/opensource/flexunit/branches/4.x/FlexUnit4CIListener/src/o rg/flexunit/listeners/CIListener.as) uses the fscommand() function to send a message to its host environment to exit (i.e. - fscommand("quit")). This command is only recognized by the Flash projector and stand-alone players, which are thin wrappers around the Flash Player so that it may be executed as its own process in the OS. Based on the setup you are describing, the behavior you're seeing should be expected since the browser is the host environment for the Flash Player. When the browser recieves the resulting message of the fscommand("quit") call nothing will happen since the browser doesn't support this command. If you use the Flash projector or stand-alone players however, they will exit when recieving the results of this command. The projector/stand-alone players come in two flavors, release and debug. Release will act very closely to the typical plugin installed in the web browser (e.g. - swallows errors, no debug support, etc) whereas debug will allow you to write log files to the system, show error messages, etc. Currently the debug stand-alones are available on Windows, Mac, Linux and the release stand-alone is only available on Linux.
To address your questions:
1. If you've installed the Flash Player browser plugin, there is no way that I know of to launch the player as its own process. I've only had success using the projector/stand-alone player (http://www.adobe.com/support/flashplayer/downloads.html).
As far as your testing management goes, I would discuss with them the problem context FlexUnit4 hopes to solve. The framework is intended to produce unit and integration tests. Functional testing is not withing the scope of the library. Although, it's technically feasible to write integration tests which will exercise components similarly to a functional test, tools such as FlexMonkey, Selenium Flex, QTP, etc are much better geared towards this problem domain. Test recording and playback, using these tools, is typically done using the FP browser plugin and is much easier to use by most QA and testing staff. At the end of the day, as we're testing our code using FlexUnit at a smaller granularity than that of which the user interacts with in our application. To reliably test the applicaiton as the user would interact with it requires additional tooling and a different type of testing.
Like I said, just my take, maybe some of the other guys can help as well.
A few things. I am pretty sure there is a release standalone player for windows. You can get it here:
It is part of the bundle of players.
Second, since we know when we are done receiving results from the test run via the CIListener, we could just kill the browser process at that point, that would solve the issue for anyone wanting to run in the web browser environment, which is a legitimate concern.
Thanks, Brian and Mike,
There are other test groups here that perform click/record type FlexMonkey testing in the browser, so browser testing is being covered. So, for us, I do not think running flexunit in the browser (and closing the browser) is a requirement, especially if there is a standard stand-alone player available. I will try to locate the standalone player for windows and see how that goes. Thanks for your help.
I'm also interested in doing testing in a CI environment that'll be using the browser player plugin not the standalone player. Any timeframe for killing off the browser process as mentioned in your reply above?