0

我正在使用 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"

它使用起来很简单,但是这个响应断言对我来说并不难。

4

1 回答 1

3

这里有一个使用响应断言的基本示例。

visit name: 'Altentee', url: 'http://altentee.com/' do
  assert contains: 'We test, tune and secure your site'
  assert 'not-contains' => 'Something in frames', scope: 'children'
end
于 2015-05-07T22:14:47.173 回答