我正在使用 ruby-jmeter 创建 jmeter 计划。到目前为止,我已经通过https://github.com/flood-io/ruby-jmeter/blob/master/lib/ruby-jmeter/DSL.md给出的各种 DSL
但我不明白如何使用响应断言 DSL。 https://github.com/flood-io/ruby-jmeter/blob/master/lib/ruby-jmeter/dsl/response_assertion.rb
def initialize(params={})
testname = params.kind_of?(Array) ? 'ResponseAssertion' : (params[:name] || 'ResponseAssertion')
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="#{testname}" enabled="true">
<collectionProp name="Asserion.test_strings">
<stringProp name="0"/>
</collectionProp>
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
<boolProp name="Assertion.assume_success">false</boolProp>
<intProp name="Assertion.test_type">16</intProp>
<stringProp name="Assertion.scope">all</stringProp>
</ResponseAssertion>)
EOS
update params
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
end
我该如何使用它?
对于 csv_data_set_config,
DLS就像
def initialize(params={})
testname = params.kind_of?(Array) ? 'CsvDataSetConfig' : (params[:name] || 'CsvDataSetConfig')
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="#{testname}" enabled="true">
<stringProp name="delimiter">,</stringProp>
<stringProp name="fileEncoding"/>
<stringProp name="filename"/>
<boolProp name="quotedData">false</boolProp>
<boolProp name="recycle">true</boolProp>
<stringProp name="shareMode">shareMode.all</stringProp>
<boolProp name="stopThread">false</boolProp>
<stringProp name="variableNames"/>
</CSVDataSet>)
EOS
update params
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
end
我像这样使用它
csv_data_set_config filename: "/Users/ajinkya41/projects/scout_tools/users.csv", variableNames: "username,password"
它使用起来很简单,但是这个响应断言对我来说并不难。