Dav*_*idB 3 jmeter vaadin vaadin10
我从事Vaadin 10项目的工作,我们想在我们的网站上执行负载测试,因为我们使用Vaadin 10可以使用Jmeter做到这一点,但是使用Vaadin 10似乎不适用于Jmeter
我们尝试使用Jmeter 5.1.1并记录了测试用例,第一个问题是csrf Toaken和push id,它们都可以用正则表达式提取器提取,然后将它们放在Body数据中
{"csrfToken":"${csrf}","rpc": [{"type":"mSync","node":5,"feature":1,"property":"invalid","value":true}]," syncId":0,"clientId":0}
Run Code Online (Sandbox Code Playgroud)
据我所知,至少这样做是可行的,但是我们得到的唯一结果是一个HTML站点,其中显示“您必须在浏览器中启用javascript才能使用该站点。”
有谁知道是否有更好的方法可以对vaadin 10应用程序执行负载测试,或者如何使其与jmeter一起使用?
我发现直到知道的大多数答案是针对vaadin 8或7的,但是对于vadin 10+则没有答案
是的,可以将JMeter用于Vaadin 10+应用程序的负载测试。您应该能够使用以下正则表达式提取csrf令牌:
Vaadin-Security-Key":"(.+?)"
Run Code Online (Sandbox Code Playgroud)
针对Vaadin 13 Bakery应用入门测试时,我的JMeter的屏幕截图:
除JMeter外,在对Vaadin(任何版本)应用程序进行可伸缩性测试时,Gatling也是不错的选择。在针对Vaadin 13的Bakery App启动程序中,有一个很好的示例加特林测试脚本:https ://vaadin.com/start/latest/full-stack-spring请参阅以下路径:\ src \ test \ scala \ BaristaFlow.scala项目。
编辑:
我在此处上传了针对V13应用程序(相同的Bakery Flow入门程序)的小型但功能齐全的JMeter测试:https : //gist.github.com/johannest/593309e31e35789f8e5b03bed074f13c
示例脚本显示了csrf令牌提取,以及如何提取组件ID(例如用于“ New”按钮的ID)以及客户端和同步ID。提取这些ID并将其用作以下请求中的变量(而不是使用记录的ID)可以使您的测试更加稳定。
| 归档时间: |
|
| 查看次数: |
211 次 |
| 最近记录: |