Bug 38681

Summary: Include controllers do not seem to function in non-GUI mode
Product: JMeter Reporter: Richard Gaywood <richardgaywood>
Component: MainAssignee: JMeter issues mailing list <issues>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P3    
Version: 2.1.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows Server 2003   
Attachments: Top-level test plan
Included test plan
Batch file to run JMeter in non-gui mode
Results file from GUI run
Results file from non-GUI run
Log file from GUI run
Log file from non-GUI run

Description Richard Gaywood 2006-02-16 16:21:30 UTC
Please see attached script1.jmx (top-level test plan), component_google.jmx
(test plan to be included), and run.bat (to run JMeter in non-GUI mode).

This test plan assumes the following structure:
1) Java in D:\jmeter\java\j2sdk1.4.2_07
2) JMeter in D:\jmeter\jakarta-jmeter-2.1.1
3) test plans in D:\jmeter\tests\test

To re-run these files, you will need to edit paths appropriately. 

When run in GUI mode, the CSV report generated contains three samplers, as
expected. When run in non-GUI mode through the batch command, the included file
does not seem to be triggered, and the results file contains only a single line
for the Yahoo sampler.
Comment 1 Richard Gaywood 2006-02-16 16:23:42 UTC
Created attachment 17714 [details]
Top-level test plan
Comment 2 Richard Gaywood 2006-02-16 16:24:00 UTC
Created attachment 17715 [details]
Included test plan
Comment 3 Richard Gaywood 2006-02-16 16:24:18 UTC
Created attachment 17716 [details]
Batch file to run JMeter in non-gui mode
Comment 4 Richard Gaywood 2006-02-16 16:24:35 UTC
Created attachment 17717 [details]
Results file from GUI run
Comment 5 Richard Gaywood 2006-02-16 16:24:49 UTC
Created attachment 17718 [details]
Results file from non-GUI run
Comment 6 Richard Gaywood 2006-02-16 16:25:04 UTC
Created attachment 17719 [details]
Log file from GUI run
Comment 7 Richard Gaywood 2006-02-16 16:25:24 UTC
Created attachment 17720 [details]
Log file from non-GUI run
Comment 8 Richard Gaywood 2006-02-16 16:57:08 UTC
Running the test plans in and out of the GUI with DEBUG level loggging gives,
for part of the log, the results below. The key difference is the error
"jmeter.control.TransactionController: Could not fetch SamplePackage" in the
non-GUI run, which presumably is something to do with the cause of this bug.

non-GUI:-

2006/02/16 15:51:49 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.LoopController 
2006/02/16 15:51:49 DEBUG - jmeter.control.TransactionController: Thread-0 load
google +++++++++++++++++++++++++++++ 
2006/02/16 15:51:49 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.TransactionController 
2006/02/16 15:51:49 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.IncludeController 
2006/02/16 15:51:49 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.TransactionController 
2006/02/16 15:51:49 DEBUG - jmeter.control.TransactionController: Thread-0 load
google -----------------------------2 
2006/02/16 15:51:49 WARN  - jmeter.control.TransactionController: Could not
fetch SamplePackage 
2006/02/16 15:51:49 DEBUG - jmeter.control.TransactionController: Thread-0 load
google -----------------------------2 
2006/02/16 15:51:49 DEBUG - jmeter.control.TransactionController: Thread-0 load
google already called 
2006/02/16 15:51:49 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.LoopController 
2006/02/16 15:51:49 DEBUG - jmeter.protocol.http.sampler.HTTPSampler: Start :
samplehttp://www.yahoo.com/ 
2006/02/16 15:51:50 DEBUG - jmeter.protocol.http.sampler.HTTPSampler: End : sample 
2006/02/16 15:51:50 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.LoopController 
2006/02/16 15:51:50 INFO  - jmeter.threads.JMeterThread: Thread Thread Group 1-1
is done 



GUI:-

2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.LoopController 
2006/02/16 15:54:44 DEBUG - jmeter.control.TransactionController: Thread-3 load
google +++++++++++++++++++++++++++++ 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.TransactionController 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.IncludeController 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.GenericController 
2006/02/16 15:54:44 DEBUG - jmeter.protocol.http.sampler.HTTPSampler: Start :
samplehttp://www.google.co.uk/ 
2006/02/16 15:54:44 DEBUG - jmeter.protocol.http.sampler.HTTPSampler: End : sample 
2006/02/16 15:54:44 DEBUG - jmeter.visualizers.ViewResultsFullVisualizer: Start
: updateGui1 
2006/02/16 15:54:44 DEBUG - jmeter.visualizers.ViewResultsFullVisualizer:
updateGui1 : sample result - HTTP Request 
2006/02/16 15:54:44 DEBUG - jmeter.visualizers.ViewResultsFullVisualizer: End :
updateGui1 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.LoopController 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.TransactionController 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.IncludeController 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.GenericController 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.IncludeController 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.TransactionController 
2006/02/16 15:54:44 DEBUG - jmeter.control.TransactionController: Thread-3 load
google -----------------------------3 
2006/02/16 15:54:44 DEBUG - jmeter.visualizers.ViewResultsFullVisualizer: Start
: updateGui1 
2006/02/16 15:54:44 DEBUG - jmeter.visualizers.ViewResultsFullVisualizer:
updateGui1 : sample result - load google 
2006/02/16 15:54:44 DEBUG - jmeter.visualizers.ViewResultsFullVisualizer: End :
updateGui1 
2006/02/16 15:54:44 DEBUG - jmeter.control.TransactionController: Thread-3 load
google -----------------------------3 
2006/02/16 15:54:44 DEBUG - jmeter.control.TransactionController: Thread-3 load
google already called 
2006/02/16 15:54:44 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.LoopController 
2006/02/16 15:54:44 DEBUG - jmeter.protocol.http.sampler.HTTPSampler: Start :
samplehttp://www.yahoo.com/ 
2006/02/16 15:54:48 DEBUG - jmeter.protocol.http.sampler.HTTPSampler: End : sample 
2006/02/16 15:54:48 DEBUG - jmeter.visualizers.ViewResultsFullVisualizer: Start
: updateGui1 
2006/02/16 15:54:48 DEBUG - jmeter.visualizers.ViewResultsFullVisualizer:
updateGui1 : sample result - load yahoo 
2006/02/16 15:54:48 DEBUG - jmeter.visualizers.ViewResultsFullVisualizer: End :
updateGui1 
2006/02/16 15:54:48 DEBUG - jmeter.control.GenericController: Calling next on:
org.apache.jmeter.control.LoopController 
2006/02/16 15:54:48 INFO  - jmeter.threads.JMeterThread: Thread Thread Group 1-1
is done 


Comment 9 Richard Gaywood 2006-02-16 18:16:01 UTC
This bug has also been discussed on jmeter-users:

http://mail-archives.apache.org/mod_mbox/jakarta-jmeter-user/200510.mbox/%3c20051005001421.75069.qmail@web35805.mail.mud.yahoo.com%3e

I am not sure if that discussion lead to a bug report being opened or not. If it
did, this bug should be marked as a duplicate of that one. 
Comment 10 peter lin 2006-02-16 20:08:11 UTC
Looking at this a bit, I think the fix might be as simple as implementing next()
for IncludeController and have it check to see if the included modules have been
loaded.

peter
Comment 11 Sebb 2006-03-15 02:41:10 UTC
Checked a potential fix into the 2.1 branch. 

This is in the nightly build: 2-1.20060315 - please see if it works for you.