Please do not think that people who are really using SQL Optimizer are not too experienced and they do not know really much about scripting.
So please leave us a way to put plain SQL statements-this will be the best.
Mine proposal is very flexible because when I open testing case (from TEST env, where I have DBA privilege) on PROD (where I do not have DBA) I just simply comment part that I do not need and test can run.
Please keep in mind that dba privilege is not always present and should somehow be disabled.
Also reconsider after SQL part … it will be really interesting as well.
Last but not least, try to implement execute for each run and execute for each run set (in a case we want to run same query 10 times and in between we do not want to flush cache) … imagine that when to run pre and after part might be really interesting.
Once again, this feature has been implemented in Benchmark factory, so please take a look there-it is really a good example.