如何 link 从 RCP 应用程序到 SWTBot 的一部分?

How to link a Part from an RCP App to SWTBot?

我开始使用 SWTBot 测试我的应用程序 Eclipse RCP v4。

这是我的代码,通过 id 获取零件并激活它。

protected static void openPart(final String id) {
    Display.getDefault().syncExec(new Runnable() {

        public void run() {
            EPartService partService = E4Workbench.getServiceContext().getActiveLeaf().get(EPartService.class);
            MPart part = partService.findPart(id);
            partService.activate(part);
        }
    });
}

这是我的测试。而且它不起作用...

@Test
public void test1() {
    openPart("testmaker.part.gauche");
    bot.tree().getTreeItem("hju / PQT").expand();
}

@Test
public void test2() {
    openPart("testmaker.part.stepRightSide");
    bot.button("Add Comment").click();
}

我不知道如何 link 我的 private static SWTBot bot; 我的 RCP 部分。

我已经用 bot.viewby...(name/id/etc).show(); 试过了,没用。

这是我的 RCP 应用程序:

有没有人可以帮助我使用带有 SWTBot 的 rcp 应用程序?

我现在有了解决方案。

使用 org.eclipse.swtbot.e4.finder 插件和来自此插件的 class SWTWorkbenchBot 可以正常工作。