module JmeterPerf class DSL # DSL method synonymous with the JMeter Element HTTPRequestDefaults # @param [Hash] params Parameters for the HTTPRequestDefaults element (default: `{}`). # @yield block to attach to the HTTPRequestDefaults element # @return [JmeterPerf::HTTPRequestDefaults], a subclass of JmeterPerf::DSL that can be chained with other DSL methods. # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#httprequestdefaults def http_request_defaults(params = {}, &) node = HTTPRequestDefaults.new(params) attach_node(node, &) end class HTTPRequestDefaults attr_accessor :doc include JmeterPerf::Helpers::XmlDocumentUpdater def initialize(params = {}) testname = params.is_a?(Array) ? "HTTPRequestDefaults" : (params[:name] || "HTTPRequestDefaults") @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc( <<~EOS false username=my_name&password=my_password&email="my name <test@example.com>" = / HttpClient4 true true 4 EOS )) update params update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath] end end end end