首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby-jmeter脚本-使用提取regex:选项和变量值

ruby-jmeter脚本-使用提取regex:选项和变量值
EN

Stack Overflow用户
提问于 2013-12-17 04:10:51
回答 1查看 1.1K关注 0票数 1

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

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

我在ruby-jmeter中使用提取regex:'',name:'‘语法时卡住了。

我想要这样的东西:我访问http :// domain/api/user?q=create,,我发布一个原始的JSON数据作为输入,然后我得到所需的JSON响应。我想从这个响应中提取一个模式,并动态地使用这个值,这样我就可以将它作为输入提供给我的原始JSON输入,以访问http: //domain/api/user?q=read

基本上我是在试着:

代码语言:javascript
复制
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的人可以帮我?

谢谢,维希。

EN

回答 1

Stack Overflow用户

发布于 2015-05-08 06:26:38

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

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

代码语言:javascript
复制
extract regex: '"Username":"(.+?)"', name: 'userName'

下面的拼音代码不会知道任何关于${}样式的JMeter变量:

代码语言:javascript
复制
    puts '${userName}'

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

代码语言:javascript
复制
visit name: 'users', url: '/api/user?q=${userName}'

有关使用Ruby please see this blog post测试APIs的更详细示例,请参阅

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20619975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档