Hi Marc, I think I have figured it out now: The name of the thread that is hanging is 'pool-1-thread-1'. This thread is started in class HTMLReportGenerator: private final ExecutorService service = Executors.newFixedThreadPool(1, new HTMLReportGeneratorThreadFactory()); My understanding is that the shutdown() method of the ExecutorService is never called because as it is implemented now, it would only get called if the VM shuts down (a shutdown hook is added in class WebtestCase that would eventually kill the service). However, the VM in turn does not shut down because the ExecutorService thread keeps running, resulting in a deadlock. My fix to the problem is to call HTMLReportGenerator.INSTANCE.shutdown() myself before the main() method returns. Regards, Beat ---- Marc Guillemot <[email protected]> schrieb: > Hi, > > can you make a thread dump to look at which threads are hanging? > > Cheers, > Marc. > -- > Blog: http://mguillem.wordpress.com > > Beat Koch wrote: > > When I run my Webtest application written in Groovy, the test application does not stop even though the tests complete successfully. I have to press ^C to end the test application. You can see what I am basically doing with the following Groovy script: > > > > --- > > import com.canoo.webtest.* > > > > public class SampleRunner { > > > > public static void main(def args) { > > println('Starting test execution.') > > MyWebtestCase w = new MyWebtestCase() > > w.execute() > > println('Test execution finished.') > > } > > } > > > > public class MyWebtestCase extends WebtestCase { > > void execute() { > > webtest("check that WebTest is Google's top 'WebTest' result") { > > invoke "http://www.google.com/ncr", description: "Go to Google (in English)" > > verifyTitle "Google" > > setInputField name: "q", value: "WebTest" > > clickButton "I'm Feeling Lucky" > > verifyTitle "Canoo WebTest" > > } > > } > > } > > --- > > > > Running this script produces the following console output: > > > > --- > > Starting test execution. > > thisClassFileName: MyWebtestCase.class > > thisClassFileUrl: file:/Users/bkoch/temp/MyWebtestCase.class > > > > wt.htmlReports.init: > > [mkdir] Created dir: /Users/bkoch/temp/webtest-results/resources > > [copy] Copying 22 files to /Users/bkoch/temp/webtest-results/resources > > [copy] Copying 1 file to /Users/bkoch/temp/webtest-results > > Test execution finished. > > [echo] Formatting /Users/bkoch/temp/webtest-results/001_CheckThatWebTes tIsGooglesTopWebTestR/WebTestReport.xml to HTML in folder /Users/bkoch/temp/webtest-results/001_CheckThatWebTestIsGooglesTopWebTestR > > [xslt] Processing /Users/bkoch/temp/webtest-results/001_CheckThatWebTes tIsGooglesTopWebTestR/WebTestReport.xml to /Users/bkoch/temp/webtest-results/001_CheckThatWebTestIsGooglesTopWebTestR/We bTestReport.html > > [xslt] Loading stylesheet /Users/bkoch/temp/webtest-resources/resources/WebTestReport.xsl > > [xslt] Processing /Users/bkoch/temp/webtest-results/001_CheckThatWebTes tIsGooglesTopWebTestR/WebTestReport.xml to /Users/bkoch/temp/webtest-results/001_CheckThatWebTestIsGooglesTopWebTestR/We bTestSummary.xml > > [xslt] Loading stylesheet /Users/bkoch/temp/webtest-resources/resources /WebTestReportSummaryExtractor.xsl > > [echo] DONE. Formatting /Users/bkoch/temp/webtest-results/001_CheckThat WebTestIsGooglesTopWebTestR/WebTestReport.xml to HTML in folder /Users/bkoch/temp/webtest-results/001_CheckThatWebTestIsGooglesTopWebTestR > > ^C > > wt.htmlReports: > > [echo] Waiting for completion of background generation of single reports > > [echo] Generating WebTestOverview > > Reading /Users/bkoch/temp/webtest-results/001_CheckThatWebTestIsGooglesTopWe bTestR/WebTestSummary.xml > > Writing /Users/bkoch/temp/webtest-results/WebTestOverview.xml > > [xslt] Processing > > /Users/bkoch/temp/webtest-results/WebTestOverview.xml to /Users/bkoch/temp/webtest-results/index.html > > [xslt] Loading stylesheet /Users/bkoch/temp/webtest-resources/resources/WebTestReportOverview.xsl > > Done! > > --- > > > > You can see where I had to press ^C and what happened afterwards. I am > > aware that my way of calling Webtest may not be as advertised, but I need to do it this way in my real-world project. > > > > I have had no problem with this with Webtest R_1766 (the script completes > > by itself with that version). As far as I can see, the problem appears first when the parallel processing of webtest results while executing the next test case was added and it is due to the fact that some background process or thread does not finish when it should. > > > > What do I have to do to have the test script end by itself? Any help would be greatly appreciated! > > > > Thanks, > > Beat > > > > > > _______________________________________________ > > WebTest mailing list > > [email protected] > > http://lists.canoo.com/mailman/listinfo/webtest > > > > _______________________________________________ > WebTest mailing list > [email protected] > http://lists.canoo.com/mailman/listinfo/webtest
_______________________________________________ WebTest mailing list [email protected] http://lists.canoo.com/mailman/listinfo/webtest

