【问题标题】:ruby-jmeter script - using the extract regex: option and variable valueruby-jmeter 脚本 - 使用提取正则表达式:选项和变量值
【发布时间】:2013-12-16 20:10:50
【问题描述】:

我正在使用 ruby​​-jmeter gem 编写 DSL 脚本来进行性能测试自动化..

我发现这对于导航到我的 API URL、发布数据、断言预期结果和生成性能趋势报告非常有用。

在 ruby​​-jmeter 中使用 extract regex: '', name: '' 语法时卡住了。

我想要类似的东西:我访问 http :// domain/api/user?q=create, 我发布了一个原始 JSON 数据作为输入,我得到了所需的 JSON 响应。我想从此响应中提取模式并动态使用此值,以便我可以将其作为输入提供给我的原始 JSON 输入以访问 http: //domain/api/user?q=read
基本上我在尝试:

visit name: 'CreateUser', url: "<url link>",<br>
        method: "post",<br>
        domain: "<domain>",<br>
        path: 'api/user?q=create', <br>
        raw_body: <input json> do<br>
        #extract a pattern from response<br>
        extract regex: '"Username":"(.+?)"', name: 'userName'<br>
        puts '${userName}'<br>
        # rest of code here.. <br>
        # I want to use ${username} as input to my next Visit call<br>
end




有看过 ruby​​-jmeter 的人可以帮我看看吗?

谢谢, 毗湿。

【问题讨论】:

    标签: jmeter jmeter-plugins ruby-jmeter


    【解决方案1】:

    Ruby-JMeter 是一种 DSL,它只在生成测试计划 (.jmx) 时评估 ruby​​ 代码,它不会同时运行测试计划和评估 ruby​​ 代码。

    在您的示例中,这将在 JMeter 中生成一个正则表达式提取器:

    extract regex: '"Username":"(.+?)"', name: 'userName'
    

    以下 ruby​​ 代码对 ${} 样式的 JMeter 变量一无所知:

        puts '${userName}'
    

    如果正则表达式匹配,则相关的${userName} JMeter 变量将被设置,您应该可以在后续请求中使用它:

    visit name: 'users', url: '/api/user?q=${userName}'
    

    有关使用 Ruby 测试 API 的更详细示例please see this blog post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多