Seems there are a variety of ways to do automated functional testing.  This is the result of some research I have done to determine which is best for my projects.