Class StandardGenerator

  • All Implemented Interfaces:
    java.io.Serializable , org.apache.jmeter.protocol.http.util.accesslog.Generator

    
    public class StandardGenerator
     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.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      void close() close the generator
      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(Array<NVPair> params) Set the request parameters
      void 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.
      Object generateRequest() The method is responsible for calling the necessary methods to generate a valid request.
      void save() save must be called to write the jmx file, otherwise it will not be saved.
      void reset() Reset the HTTPSampler to make sure it is a new instance.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • StandardGenerator

        StandardGenerator()
        The constructor is used by GUI and samplers to generate request objects.
      • StandardGenerator

        StandardGenerator(String file)
        Parameters:
        file - name of a file (TODO seems not to be used anywhere)
    • Method Detail

      • close

         void close()

        close the generator

      • setHost

         void setHost(String host)

        The host is the name of the server.

      • setLabel

         void setLabel(String label)

        This is the label for the request, which is used in the logs and results.

      • setMethod

         void setMethod(String post_get)

        The method is the HTTP request method. It's normally POST or GET.

      • setPath

         void setPath(String path)

        The path is the web page you want to test.

      • setPort

         void setPort(int port)

        The default port for HTTP is 80, but not all servers run on that port.

      • setQueryString

         void setQueryString(String querystring)

        Set the querystring for the request if the method is GET.

      • setSourceLogs

         void setSourceLogs(String sourcefile)

        The source logs is the location where the access log resides.

      • setTarget

         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

         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.

      • save

         void save()

        save must be called to write the jmx file, otherwise it will not be saved.

      • reset

         void reset()

        Reset the HTTPSampler to make sure it is a new instance.

        The purpose of the reset is so Samplers can explicitly call reset to create a new instance of HTTPSampler.