我有一个简单的VaadinGrid,如果您单击UI中的行(如here),它将打开一个详细信息。我使用Vaadin 14.0.12。

不幸的是,我没有一个表格可以单击并打开测试用例中的详细信息。如果我自己单击行,则会显示详细信息。如果我在测试用例中连续单击,则不会显示。知道为什么吗?

将详细信息添加到网格:

    grid.setItemDetailsRenderer(new ComponentRenderer<Component, Item>(item -> {
        return new TestGridDetail(item); // contains some text only
    }));

测试平台-测试用例:

我使用当前版本的geckodriver(Firefox)执行测试。网格不为空,包含行。

查找网格(工作正常):
var gridElement = $(TestGridElement.class).waitForFirst();

我试图用以下方法打开细节:
gridElement.getRow(0).getDetails().click();
gridElement.getRow(0).click();

但是,细节不会在UI中打开。

official documentation提到了一种打开它的方法,但是GridElement没有提供此方法。

您可以使用
setDetailsVisible()方法,

最佳答案

解决方案是对click而不是Cell执行Row

gridElement.getCell(0, 0).click();

该命令将打开网格第一行的详细信息。

09-27 00:34