Class StandardGenerator
- java.lang.Object
-
- org.apache.jmeter.protocol.http.util.accesslog.StandardGenerator
-
- All Implemented Interfaces:
Serializable
,Generator
public class StandardGenerator extends Object implements Generator, Serializable
Description:
StandardGenerator will be the default generator used to pre-process logs. It uses JMeter classes to generate the .jmx file. The first version of the utility only generated the HTTP requests as XML, but it required users to copy and paste it into a blank jmx file. Doing that way isn't flexible and would require changes to keep the format in sync.This version is a completely new class with a totally different implementation, since generating the XML is no longer handled by the generator. The generator is only responsible for handling the parsed results and passing it to the appropriate JMeter class.
Notes:
the class needs to first create a thread group and add it to the HashTree. Then the samplers should be added to the thread group. Listeners shouldn't be added and should be left up to the user. One option is to provide parameters, so the user can pass the desired listener to the tool.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected File
FILE
protected String
FILENAME
protected OutputStream
OUTPUT
protected HTTPSamplerBase
SAMPLE
protected FileWriter
WRITER
-
Constructor Summary
Constructors Constructor Description StandardGenerator()
The constructor is used by GUI and samplers to generate request objects.StandardGenerator(String file)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
close the generatorObject
generateRequest()
The method is responsible for calling the necessary methods to generate a valid request.protected void
initStream()
Create the FileWriter to save the JMX file.void
reset()
Reset the HTTPSampler to make sure it is a new instance.void
save()
save must be called to write the jmx file, otherwise it will not be saved.void
setHost(String host)
The host is the name of the server.void
setLabel(String label)
This is the label for the request, which is used in the logs and results.void
setMethod(String post_get)
The method is the HTTP request method.void
setParams(NVPair[] params)
Set the request parametersvoid
setPath(String path)
The path is the web page you want to test.void
setPort(int port)
The default port for HTTP is 80, but not all servers run on that port.void
setQueryString(String querystring)
Set the querystring for the request if the method is GET.void
setSourceLogs(String sourcefile)
The source logs is the location where the access log resides.void
setTarget(Object target)
The target can be either a java.io.File or a Sampler.
-
-
-
Field Detail
-
SAMPLE
protected HTTPSamplerBase SAMPLE
-
WRITER
protected transient FileWriter WRITER
-
OUTPUT
protected transient OutputStream OUTPUT
-
FILENAME
protected String FILENAME
-
FILE
protected File FILE
-
-
Constructor Detail
-
StandardGenerator
public StandardGenerator()
The constructor is used by GUI and samplers to generate request objects.
-
StandardGenerator
public StandardGenerator(String file)
- Parameters:
file
- name of a file (TODO seems not to be used anywhere)
-
-
Method Detail
-
initStream
protected void initStream()
Create the FileWriter to save the JMX file.
-
setHost
public void setHost(String host)
The host is the name of the server.
-
setLabel
public void setLabel(String label)
This is the label for the request, which is used in the logs and results.
-
setMethod
public void setMethod(String post_get)
The method is the HTTP request method. It's normally POST or GET.
-
setParams
public void setParams(NVPair[] params)
Set the request parameters
-
setPath
public void setPath(String path)
The path is the web page you want to test.
-
setPort
public void setPort(int port)
The default port for HTTP is 80, but not all servers run on that port.
-
setQueryString
public void setQueryString(String querystring)
Set the querystring for the request if the method is GET.- Specified by:
setQueryString
in interfaceGenerator
- Parameters:
querystring
- query string of the request
-
setSourceLogs
public void setSourceLogs(String sourcefile)
The source logs is the location where the access log resides.- Specified by:
setSourceLogs
in interfaceGenerator
- Parameters:
sourcefile
- path to the access log file
-
setTarget
public void setTarget(Object target)
The target can be either a java.io.File or a Sampler. We make it generic, so that later on we can use these classes directly from a HTTPSampler.
-
generateRequest
public Object generateRequest()
The method is responsible for calling the necessary methods to generate a valid request. If the generator is used to pre-process access logs, the method wouldn't return anything. If the generator is used by a control element, it should return the correct Sampler class with the required fields set.- Specified by:
generateRequest
in interfaceGenerator
- Returns:
- prefilled sampler
-
save
public void save()
save must be called to write the jmx file, otherwise it will not be saved.
-
-