如何在Vaadin测试用例中为GridElement打开GridDetail?

时间:2019-11-06 12:36:05

标签: java selenium vaadin vaadin14

我有一个简单的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();

细节不会在用户界面中打开。

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

  

您可以使用   setDetailsVisible()方法,

1 个答案:

答案 0 :(得分:2)

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

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

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