首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用带有JMeter的Vaadin10执行负载测试/性能测试

如何使用带有JMeter的Vaadin10执行负载测试/性能测试
EN

Stack Overflow用户
提问于 2019-05-16 19:47:56
回答 2查看 554关注 0票数 4

我在一个Vaadin 10项目上工作,我们想在我们的网站上进行负载测试。在我们使用Vaadin10之前,我们可以用Jmeter做到这一点,但是在Vaadin10中,JMeter似乎不能工作。

我们尝试使用JMeter 5.1.1并记录了测试用例。第一个问题是CSRF令牌和推送id。这两个都可以用正则表达式提取器提取出来,我们把它们放在正文数据中:

代码语言:javascript
复制
{"csrfToken":"${csrf}","rpc":  [{"type":"mSync","node":5,"feature":1,"property":"invalid","value":true}],"  syncId":0,"clientId":0}

据我所知,至少这是有效的,但我们得到的唯一结果是一个HTML页面,其中包含“您必须在您的浏览器中启用javascript才能使用此网站”。

有没有人知道有没有更好的方法在Vaadin10应用程序上执行负载测试,或者如何让它与JMeter一起工作?

到目前为止,我找到的大多数答案都是针对Vaadin 8或7的,但没有针对Vaadin 10+的。

EN

回答 2

Stack Overflow用户

发布于 2019-05-16 20:41:43

是的,在10+应用程序中使用JMeter进行负载测试是可能的。您应该能够使用以下正则表达式来提取csrf令牌:

代码语言:javascript
复制
Vaadin-Security-Key":"(.+?)"

我的JMeter在测试Vaadin13Bakery应用程序入门时的屏幕截图:

除了JMeter之外,在可伸缩性测试Vaadin (任何版本)应用程序时,Gatling也是一个很好的选择。在Bakery App starter for Vaadin13中有一个非常好的示例Gatling测试脚本:https://vaadin.com/start/latest/full-stack-spring,请参阅项目的路径:\src\test\scala\BaristaFlow.scala。

编辑:

我在这里上传了一个针对V13应用程序(相同的Bakery Flow starter)的小型但功能完整的JMeter测试:https://gist.github.com/johannest/593309e31e35789f8e5b03bed074f13c

示例脚本显示了csrf令牌提取,但也显示了如何提取组件id (例如用于"New“按钮的id)以及客户端和同步id。提取这些ids并将它们用作以下请求中的变量(而不是使用记录的ids)可以使您的测试更稳定。

票数 9
EN

Stack Overflow用户

发布于 2020-06-08 05:00:20

我前段时间提出了这个问题,因为有些人对这个问题很感兴趣,所以我会发布一些我们是如何处理这种情况的信息。

  1. 我们的应用程序不想使用J-Meter应该可以使用jmeter,但我没有设法让它进入工作状态
  2. 我们使用了neoload (试用版对我们的用例来说已经足够了),neoLoad很容易用于Vaadin10,但我不能给出如何在Vaadin10中使用neoLoad的详细信息,但也许有人可以利用这些信息来缩短研究时间
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56167860

复制
相关文章

相似问题

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