Sha256: 188bdc1269dc8df9ee798ee24804cacd737662a4bb1325b8aa48805d96915fdf

Contents?: true

Size: 1.23 KB

Versions: 3

Compression:

Stored size: 1.23 KB

Contents

module JmeterPerf
  module Plugins
    class ThroughputShapingTimer
      attr_accessor :doc
      include Helper
      def initialize(params = {})
        testname = params.is_a?(Array) ? "ThroughputShapingTimer" : (params[:name] || "ThroughputShapingTimer")
        @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
          <kg.apc.jmeter.timers.VariableThroughputTimer guiclass="kg.apc.jmeter.timers.VariableThroughputTimerGui" testclass="kg.apc.jmeter.timers.VariableThroughputTimer" testname="#{testname}" enabled="true">
            <collectionProp name="load_profile"/>
          </kg.apc.jmeter.timers.VariableThroughputTimer>
        EOF
        (params.is_a?(Array) ? params : params[:steps]).each_with_index do |step, index|
          @doc.at_xpath("//collectionProp") <<
            Nokogiri::XML(<<-EOF.strip_heredoc).children
              <collectionProp name="step_#{index}">
                <stringProp name="start_rps_#{index}">#{step[:start_rps]}</stringProp>
                <stringProp name="end_rps_#{index}">#{step[:end_rps]}</stringProp>
                <stringProp name="duration_sec_#{index}">#{step[:duration]}</stringProp>
              </collectionProp>
            EOF
        end
        update params
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jmeter_perf-0.0.7 lib/jmeter_perf/plugins/variable_throughput_timer.rb
jmeter_perf-0.0.6 lib/jmeter_perf/plugins/variable_throughput_timer.rb
jmeter_perf-0.0.2 lib/jmeter_perf/plugins/variable_throughput_timer.rb