首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SWTBot能识别动作按钮吗?

SWTBot能识别动作按钮吗?
EN

Stack Overflow用户
提问于 2015-02-27 10:03:04
回答 2查看 820关注 0票数 1

我有一个带有ViewPart的RCP应用程序,它有一个工具栏,上面有一些操作。这些操作由系统作为带有图标和工具提示的简单按钮放在工具栏上。

该行动看上去如下:

代码语言:javascript
复制
public class MyAction extends Action {

    public static final String TITLE = "My Action Tooltip";

    public MyAction() {
        super(TITLE, Activator.getImageDescriptor("icons/clock_edit.png"));
        setToolTipText(TITLE);
    }

    // ...
}

现在,我尝试用SWTBot调用一个按钮单击它们,如下所示:

代码语言:javascript
复制
SWTBotButton myButton = bot.buttonWithTooltip(MyAction.TITLE);
myButton.click();

如果我让SWTBot测试运行,我会得到错误消息,它找不到Button:

代码语言:javascript
复制
org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException: Could not find widget matching: (of type 'Button' and with tooltip 'My Action Tooltip' and with style 'SWT.PUSH')
    at org.eclipse.swtbot.swt.finder.SWTBotFactory.waitUntilWidgetAppears(SWTBotFactory.java:362)
    at org.eclipse.swtbot.swt.finder.SWTBotFactory.widget(SWTBotFactory.java:309)
    at org.eclipse.swtbot.swt.finder.SWTBot.buttonWithTooltip(SWTBot.java:205)
    at org.eclipse.swtbot.swt.finder.SWTBot.buttonWithTooltip(SWTBot.java:193)

现在我想知道,一个动作不是作为一个SWT.PUSH按钮放到工具栏上吗?或者它找不到它的原因是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-27 10:53:32

SWTBot可以在工具栏上找到一些不同的按钮。我终于可以这样做了:

代码语言:javascript
复制
List<SWTBotToolbarButton> items = view.getToolbarButtons();
for (SWTBotToolbarButton button : items) {
    if (MyAction.TITLE.equals(button.getToolTipText())) {
        button.click();
        break;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2015-03-05 16:13:10

也可以尝试bot.toolbarButtonWithTooltip(MyAction.TITLE).click();,您可以使用EclipseSpy视图来确定要处理的小部件的类型(类别)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28762320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档