如何在 Vaadin Testcase 中为 GridElement 打开 GridDetail?
How to open GridDetail for GridElement in Vaadin Testcase?
我有一个简单的 VaadinGrid
,如果您单击 UI 中的行(例如 here),它会打开一个详细信息。我使用 Vaadin 14.0.12.
不幸的是我不是 table 到 'click' 并在我的测试用例中打开详细信息。如果我自己单击该行,则会显示详细信息。如果我在我的测试用例中连续单击它不会显示。知道为什么吗?
将详细信息添加到网格:
grid.setItemDetailsRenderer(new ComponentRenderer<Component, Item>(item -> {
return new TestGridDetail(item); // contains some text only
}));
Testbench-测试用例:
我使用当前版本的 geckodriver (Firefox) 来执行测试。网格不为空且包含行。
找到网格(工作正常):
var gridElement = $(TestGridElement.class).waitForFirst();
我试图打开详细信息:
gridElement.getRow(0).getDetails().click();
gridElement.getRow(0).click();
详细信息在 UI 中未打开。
official documentation 提到了一种打开方法,但 GridElement
没有提供这种方法。
You can show and hide item details programmatically using the
setDetailsVisible() method,
解决方案是在 Cell
上执行 click
,而不是在 Row
上执行 click
。
gridElement.getCell(0, 0).click();
该命令打开网格第一行的详细信息。
我有一个简单的 VaadinGrid
,如果您单击 UI 中的行(例如 here),它会打开一个详细信息。我使用 Vaadin 14.0.12.
不幸的是我不是 table 到 'click' 并在我的测试用例中打开详细信息。如果我自己单击该行,则会显示详细信息。如果我在我的测试用例中连续单击它不会显示。知道为什么吗?
将详细信息添加到网格:
grid.setItemDetailsRenderer(new ComponentRenderer<Component, Item>(item -> {
return new TestGridDetail(item); // contains some text only
}));
Testbench-测试用例:
我使用当前版本的 geckodriver (Firefox) 来执行测试。网格不为空且包含行。
找到网格(工作正常):
var gridElement = $(TestGridElement.class).waitForFirst();
我试图打开详细信息:
gridElement.getRow(0).getDetails().click();
gridElement.getRow(0).click();
详细信息在 UI 中未打开。
official documentation 提到了一种打开方法,但 GridElement
没有提供这种方法。
You can show and hide item details programmatically using the setDetailsVisible() method,
解决方案是在 Cell
上执行 click
,而不是在 Row
上执行 click
。
gridElement.getCell(0, 0).click();
该命令打开网格第一行的详细信息。