Sha256: ecd9cd28710e3f6f33e8ce8d2247bf2c79d9c86fc7476dc08d54d0a0814e9a5e

Contents?: true

Size: 1.08 KB

Versions: 22

Compression:

Stored size: 1.08 KB

Contents

module RubyJmeter
  class ExtendedDSL < DSL
    def response_assertion(params, &block)
      params[:test_type] = parse_test_type(params)
      params['0'] = params.values.first

      if params[:json]
        params[:EXPECTED_VALUE] = params[:value]
        params[:JSON_PATH] = params[:json]
        node = RubyJmeter::Plugins::JsonPathAssertion.new(params)
      end

      node ||= RubyJmeter::ResponseAssertion.new(params).tap do |node|
        if params[:variable]
          params['Scope.variable'] = params[:variable]
          node.doc.xpath("//stringProp[@name='Assertion.scope']").first.content = 'variable'

          node.doc.children.first.add_child (
            Nokogiri::XML(<<-EOS.strip_heredoc).children
              <stringProp name="Scope.variable">#{params[:variable]}</stringProp>
            EOS
          )
        end

        if params[:scope] == 'main'
          node.doc.xpath("//stringProp[@name='Assertion.scope']").remove
        end
      end

      attach_node(node, &block)
    end

    alias assert response_assertion
    alias web_reg_find response_assertion
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
ruby-jmeter-3.1.08 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.1.07 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.1.06 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.1.05 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.1.04 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.1.03 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.1.02 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.1.01 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.13 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.12 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.11 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.10 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.9 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.8 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.7 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.6 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.5 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.4 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.3 lib/ruby-jmeter/extend/assertions/response_assertion.rb
ruby-jmeter-3.0.2 lib/ruby-jmeter/extend/assertions/response_assertion.rb