I'm able to see the listeners loaded in the soapui.log, but i don't see the log messages from calls to SoapUI.log() in the log. i.e. no indication that the Listener is listening.
see code and log below.
2012-05-01 17:09:31,570 INFO [SoapUI] Adding [/home/cjt/work/LoadUIPOC/./ext/LoadUIPOC-1.0-SNAPSHOT.jar] to extensions classpath
2012-05-01 17:09:31,570 INFO [DefaultSoapUICore] Creating new settings at [/home/cjt/soapui-settings.xml]
2012-05-01 17:09:31,875 INFO [DefaultSoapUICore] Adding listeners from [/home/cjt/work/LoadUIPOC/./listeners/POC-listeners.xml]
2012-05-01 17:09:31,917 INFO [DefaultSoapUICore] Adding listener [class com.epsilon.qualitymgt.perfnscale.loadui.PerfTestRunListener]
2012-05-01 17:09:32,252 INFO [WsdlProject] Loaded project from [file:/home/cjt/work/LoadUIPOC/LoadUIPOC-soapui-project.xml]
2012-05-01 17:09:32,574 INFO [SoapUITestCaseRunner] Running soapUI tests in project [LoadUIPOC]
2012-05-01 17:09:32,574 INFO [SoapUITestCaseRunner] Running TestCase [Load_LoadUIPOC_HOME]
2012-05-01 17:09:32,578 INFO [SoapUITestCaseRunner] Running soapUI testcase [Load_LoadUIPOC_HOME]
2012-05-01 17:09:32,582 INFO [SoapUITestCaseRunner] running step [http://localhost:8080/app/]
2012-05-01 17:09:32,729 INFO [SoapUITestCaseRunner] Assertion [Contains] has status VALID
2012-05-01 17:09:32,730 INFO [SoapUITestCaseRunner] Finished running soapUI testcase [Load_LoadUIPOC_HOME], time taken: 71ms, status: FINISHED
2012-05-01 17:09:32,730 INFO [SoapUITestCaseRunner] TestCase [Load_LoadUIPOC_HOME] finished with status [FINISHED] in 71ms
$ cat POC-listeners.xml
<?xml version="1.0" encoding="UTF-8"?>
<tns:soapui-listeners xmlns:tns="
http://eviware.com/soapui/config"> <tns:listener id="PerfTestRunListener"
listenerClass="com.epsilon.qualitymgt.perfnscale.loadui.PerfTestRunListener"
listenerInterface="com.eviware.soapui.model.testsuite.TestRunListener" />
</tns:soapui-listeners>
$ cat PerfTestRunListener.java
package com.epsilon.qualitymgt.perfnscale.loadui;
import com.eviware.soapui.SoapUI;
import com.eviware.soapui.model.support.TestRunListenerAdapter;
import com.eviware.soapui.model.testsuite.TestCaseRunContext;
import com.eviware.soapui.model.testsuite.TestCaseRunner;
import com.eviware.soapui.model.testsuite.TestStepResult;
import com.eviware.soapui.model.testsuite.TestStep;
public class PerfTestRunListener extends TestRunListenerAdapter {
private long runStartTime;
private long stepStartTime;
public void beforeRun(TestCaseRunner testRunner, TestCaseRunContext runContext) {
runStartTime = System.nanoTime();
}
public void afterRun(TestCaseRunner testRunner, TestCaseRunContext runContext) {
long runEndTime = System.nanoTime();
SoapUI.log("PerfTest TestCase [" + testRunner.getTestCase().getName() + "] took " + (runEndTime-runStartTime) + " nanoseconds.");
}
public void beforeStep(TestCaseRunner testRunner, TestCaseRunContext runContext, TestStep step) {
stepStartTime = System.nanoTime();
SoapUI.log("beforeStep [" + step.getName() + "] at " + stepStartTime);
}
public void afterStep(TestCaseRunner testRunner, TestCaseRunContext runContext, TestStepResult stepResult) {
long stepEndTime = System.nanoTime();
//SoapUI.log("afterStep [" + stepResult.getTestStep().getName() + "] took " + (stepEndTime-stepStartTime) + " nanoseconds.");
SoapUI.log("afterStep [" + stepResult.getTestStep().getName() + "] at " + stepEndTime);
}
}
Thanks,
Carlos