module JmeterPerf class DSL # DSL method synonymous with the JMeter Element JavaRequest # @param params [Hash] Parameters for the JavaRequest element (default: `{}`). # @yield block to attach to the JavaRequest element # @return [JmeterPerf::JavaRequest], a subclass of JmeterPerf::DSL that can be chained with other DSL methods. # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#javarequest def java_request(params = {}, &) node = JavaRequest.new(params) attach_node(node, &) end class JavaRequest attr_accessor :doc include JmeterPerf::Helpers::XmlDocumentUpdater def initialize(params = {}) testname = params.is_a?(Array) ? "JavaRequest" : (params[:name] || "JavaRequest") @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc( <<~EOS Sleep_Time 100 = Sleep_Mask 0xFF = Label = ResponseCode = ResponseMessage = Status OK = SamplerData = ResultData = org.apache.jmeter.protocol.java.test.JavaTest EOS )) update params update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath] end end end end