我从事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+则没有答案
我现在有这个特殊问题 - 我有一个网格,我试图通过多个过滤器过滤数据。为此,我使用文本框作为过滤条件的输入字段。
我的网格有三列(名字、姓氏、地址),我希望能够一个接一个地链接过滤操作。所有值均取自 MySQL 数据库。
本质上,过滤过程应该是这样的:
FirstName ^ LastName ^ Address
Run Code Online (Sandbox Code Playgroud)
例如,具有三列的网格:
在 First Name 列的过滤器中,我输入了 variables Aa,这将导致表如下所示:
但是,如果我决定输入D姓氏过滤器,它会返回如下结果(忽略第一个过滤器的修改):
而不是看起来像这样的预期结果:
我通过网格过滤的方式是这样的:
firstNameFilter.addValueChangeListener( e->
{
Notification.show(e.getValue());
ldp.setFilter(desc ->
{
return StringUtils.containsIgnoreCase(desc.getFName(), firstNameFilter.getValue());
});
});
firstNameFilter.setValueChangeMode(ValueChangeMode.EAGER);
Run Code Online (Sandbox Code Playgroud)
考虑到以前的过滤操作,过滤多列的最佳方法是什么?
有没有Layout在Vaadin 8(Vaadin框架)或Vaadin 10(Vaadin流量使用较新的)CSS Flexbox的(又名Flexbox的)功能?
精彩教程使它看起来像柔性盒可以用来实现Vaadin的GridLayout,VerticalLayout和HorizontalLayout.
我们有一个 Vaadin 14 (Flow) 应用程序,它的前端是一个 Apache 反向代理,该代理与Gluu集成以进行身份验证。
当会话不再有效时,无论是由于会话超时还是在另一个浏览器选项卡/窗口中注销,Apache 服务器都会向 Gluu 服务器发送重定向,让用户再次登录。然而,当内部 Vaadin XHR调用(Ajax 请求)发生这种情况时,Vaadin 似乎不能很好地处理此响应,并显示“来自服务器的无效 JSON 响应”错误。
我想要的是 Vaadin 将浏览器位置设置为重定向中指示的 URL,或者刷新页面(可能之间有确认消息),在这种情况下,浏览器将很好地遵循重定向。如何实现这一目标,或者还有哪些其他选择?
我对vaadin @Tag注释有疑问.当我在我的组件中使用这样的@Tag("主页") Edge和FF获得意想不到的类名.
@Tag("main-page")
@HtmlImport("src/page/home.html")
@Viewport("width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=no")
public class HomeView extends PolymerTemplate<HomeView.Model> implements RouterLayout, HasUrlParameter<String>,
Run Code Online (Sandbox Code Playgroud)
FF和Edge的结果:
但在铬,野生动物园,歌剧:
任何解释?我做错了什么 ?
我在理解Vaadin 10主题时遇到了一些麻烦:我已经在网站上阅读了所有文档,但我无法解决我的问题.
例如:如果我从头开始使用普通的Vaadin 8应用程序,当我停止服务器时,我会收到断开连接的通知:
但是对于一个新的Vaadin 10启动器(项目基础),我得到了这个丑陋的通知

这两个应用程序都是标准的,没有Vaadin首发的任何编辑.我尝试过使用shared-styles.html但没有成功.
我的问题,所有vaadin 10相关:
谢谢
我有一个简单的代码,点击按钮后模仿数据处理:
@Route("long")
public class LongWait extends VerticalLayout {
public LongWait() {
Button processButton = new Button("Process");
processButton.addClickListener(event -> process());
add(processButton);
}
//imitates processing data:
//should sleep for 10 minutes and then add "finished" label
//instead loose connection after 5 minutes
private void process() {
try {
Thread.sleep(10 * 60 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
add(new Label("finished"));
}
}
Run Code Online (Sandbox Code Playgroud)
问题是 - 在"处理"5分钟后浏览器与服务器松散连接.
为什么会发生这种情况以及如何避免它?
(我真的需要处理大量数据.)
Vaadin:10.0.3
Tomcat:9.0.8
Java:1.8.0_162
UPD:
之后process()方法已经完成它的工作(经过10分钟),我有以下的日志错误:
java.lang.UnsupportedOperationException: Confirmed duplicate message from the …Run Code Online (Sandbox Code Playgroud) 我需要处理一些数据并在网页上显示处理日志。(大约300行文字)。
我试图使用标签。最初,它工作正常-页面变得可滚动,并且所有文本都可以看到。但是大约100个标签后,页面变得没有响应。
如何管理这项任务?
(我尝试在webcomponents.org上寻找其他组件,但找不到任何东西。)
所以我有三个这样的按钮.
我的目标是使这些按钮具有相同的宽度.
要做到这一点,我想检查每个按钮的宽度,将最大值(在这种情况下 - 第二个按钮)放在一个变量中,然后将每个按钮的宽度设置为此值.
我不想使用一些幻数设置宽度,因为我的按钮上的文字可能会改变.
我试着这样做:
String maxWidth = findMaxValue(button1.getWidth(), button2.getWidth(), button3.getWidth());
button1.setWidth(maxWidth);
button2.setWidth(maxWidth);
button3.setWidth(maxWidth);
Run Code Online (Sandbox Code Playgroud)
getWidth()如果未setWidth事先使用该方法设置,则问题是返回null .那么,我如何找出按钮的宽度?
PWA 的问题是,当浏览器关闭(或智能手机处于非活动状态)时,用户将无法看到通知。
\n\n最佳情况下,PWA 图标应该带有数字++ 和铃声以吸引用户的注意力。
\n\n这有可能吗?如果不是有什么解决方案?
\n我想根据条件为网格线着色。我试试这个:
爪哇:
gridEtudiant.setClassNameGenerator(t -> {
if (t.getEtud_numero().startsWith("2")) {
return "error_row";
}
return "";
});
Run Code Online (Sandbox Code Playgroud)
css:
td.error_row {
background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
HTML
<td id="vaadin-grid-cell-1" tabindex="0" role="gridcell" part="cell body-cell" first-column="" reorder-status="undefined" aria-selected="false" class="error_row" style="width: 100px; flex-grow: 1; order: 10000000;"><slot name="vaadin-grid-cell-content-1"></slot></td>
Run Code Online (Sandbox Code Playgroud)
我们可以看到 'class="error_row"' 但它不是红色的。
Vaadin 版本是 13.0.1
我的理解是Vaadin 10+的主要主题之一是响应式布局。因此,当“水平布局”和“垂直布局”似乎不支持响应式设计时,我感到惊讶。(我转为使用App Layout,这似乎可行。)但是,在我的App布局中,我倾向于使用Vertical Layouts和Horizontal Layouts放置聚合物组件-我想它们不会响应,因为我没有不要认为Vaadin的水平/垂直布局遵循响应主题。我们是否应该使用替代布局组件,或多或少地实现“响应式水平布局”等?
与此相关的是,假设所有预先构建的Vaadin 10/12 +聚合物组件(水平和垂直布局除外)都是自动响应的,例如网格,表格和标签,是否合理,例如,如果用户在他的电话上,正在寻找一个标签,该标签具有这些Vaadin组件可以在电话上“很好地”呈现(即遵循其他框架(如react.js等)的响应式布局)的形式?
vaadin10 ×12
vaadin ×11
vaadin-flow ×7
java ×3
vaadin-grid ×2
flexbox ×1
jmeter ×1
vaadin12 ×1
vaadin14 ×1
vaadin8 ×1