安装:
http://download.eclipse.org/technology/swtbot/galileo/dev-build/update-site
测试:
public class Test1 extends SWTBotTestCase{
@Test
public void testAAA() throws Exception {
}
}
测试方法返回值一定要是void,函数名一定是以test开头,否则会报错,提示
junit.framework.AssertionFailedError: Notests found in com.example.swtbot.test.aaa.Test1
经验:
1、单的时候,如图
分别用Search和Search…查找,系统会把&,\t,Crl+H等过滤掉。
2、swtbot主要的实现原理是模拟鼠标事件,看看SWTBotTreeItem和AbstractSWTBot类的代码就比较清楚了。比如树项的双击究竟干了什么。
所以,想要实现Canvas的按位置点击事件,估计得从这个地方入手,继承并覆盖,最终把clickXY开放出来,参考SWTBotButton。
以下是SWTBotTreeItem的代码,看起来有参考价值。
/**
* Clicks on this node.
*
* @return the currentnode.
* @since 1.2
*/
public SWTBotTreeItem click() {
assertEnabled();
Rectangle cellBounds = syncExec(new Result<Rectangle>() {
public Rectangle run() {
return widget.getBounds();
}
});
Point center = getCenter(cellBounds);
clickXY(center.x, center.y);
return this;
}
坐标系是相对于父窗口的(已看过),弹出式应该是相对于屏幕坐标的。
3、都是获取的根节点,不要以为包含了子节点。
SWTBotTreeItem item = tree.getTreeItem("me@this.com");
SWTBotTreeItem[] items = tree.getAllItems();