ruby jmeter脚本-使用extract regex:选项和变量值

ruby jmeter脚本-使用extract regex:选项和变量值,jmeter,jmeter-plugins,ruby-jmeter,Jmeter,Jmeter Plugins,Ruby Jmeter,Iam使用ruby jmeter gem编写DSL脚本以进行性能测试自动化 我发现这对于导航到我的API URL、发布数据、断言预期结果和生成性能趋势报告非常有用 在ruby jmeter中使用extract regex:“”和name:“”语法时,我被卡住了 我想要这样的东西:我访问http://domain/api/user?q=create,我发布一个原始JSON数据作为输入,然后得到所需的JSON响应。我想从这个响应中提取一个模式,并动态使用这个值,这样我就可以将它作为原始JSON输入提

Iam使用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
访问名称:“CreateUser”,url:,
方法:“发布”,
域:“”,
路径:“api/user?q=create”,
原始体:do
#从响应中提取模式
提取正则表达式:“'Username:”(.+?)”,名称:'Username'
放置“${userName}”
#剩下的代码在这里
#我想使用${username}作为下次访问呼叫的输入
结束



有谁看过ruby jmeter能帮我一下吗

谢谢,
Vishi.

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的更详细示例