浏览 4138 次
锁定老帖子 主题:关于swtbot工具的示例
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-31
最后修改:2011-01-04
org.eclipse.ui, org.eclipse.core.runtime, org.junit4;bundle-version="4.8.1", org.eclipse.swtbot.eclipse.finder, org.eclipse.swtbot.junit4_x; org.eclipse.swtbot.swt.finder, org.apache.log4j, org.hamcrest;" 要使用SWTBot首先要进行升级,下载SWTBot的插件,这里我使用的是Eclipse3.6, 依次选择 eclipse 菜单项"Help-> Install New Software …",在弹出的窗口中添加更新站点, 如图所示,站点是 http://download.eclipse.org/technology/swtbot/Helios/dev-build/update-site。 package plug_test; import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Tree; import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot; import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor; import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView; import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell; import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; public class Creat { private static SWTWorkbenchBot bot; @BeforeClass public static void setUpBeforeClass() throws Exception { bot = new SWTWorkbenchBot(); bot.viewByTitle("Welcome").close(); } @Test public void canCreateANewJavaProject() throws Exception { bot.menu("File").menu("New").menu("Project...").click(); SWTBotShell shell = bot.shell("New Project"); shell.activate(); bot.tree().getTreeItem("Java").expand().select("Java Project"); bot.button("Next >").click(); bot.textWithLabel("Project name:").setText("MyFirstProject"); bot.button("Finish").click(); bot.button("Yes").click(); } @Test public void canCreateANewJavaClass() throws Exception { bot.toolbarDropDownButtonWithTooltip("New Java Class") .menuItem("Class").click(); bot.sleep(2000); bot.shell("New Java Class").activate(); bot.textWithLabel("Source folder:").setText("MyFirstProject/src"); bot.textWithLabel("Package:").setText("org.eclipsecon.project"); bot.textWithLabel("Name:").setText("HelloWorld"); bot.button("Finish").click(); SWTBotEclipseEditor editor = bot.editorByTitle("HelloWorld.java") .toTextEditor();//编辑筐 editor.insertText(4, 0, "int i=6;\n");//插入代码 editor.save(); SWTBotView ProjectExplorerView = bot.viewByTitle("Package Explorer"); ProjectExplorerView.show(); Composite ProjectExplorerComposite = (Composite) ProjectExplorerView .getWidget(); Tree Project_tree = (Tree) bot.widget(widgetOfType(Tree.class), ProjectExplorerComposite); SWTBotTree ProjectExplorerTree = new SWTBotTree(Project_tree); ProjectExplorerTree.getTreeItem("MyFirstProject").select() .expandNode("src").expandNode("org.eclipsecon.project") .expandNode("HelloWorld.java").expand(); System.out.println(bot.cTabItem().activate().getText()); bot.sleep(15000); } @AfterClass public static void tearDownAfterClass() throws Exception { bot.sleep(5000); } } ---------- package plug_test; import org.eclipse.swtbot.swt.finder.junit.SWTBotJUnit4Suite; import org.junit.runner.RunWith; import org.junit.runners.Suite.SuiteClasses; @SuppressWarnings("deprecation") @RunWith(SWTBotJUnit4Suite.class) @SuiteClasses({Creat.class}) public class AllTests { } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-01-04
liuningbo 写道 这段时间在研究swtbot,写了段代码,新手可以交流下,首先建立一个插件工程,引入相关的JAR包,
org.eclipse.ui, org.eclipse.core.runtime, org.junit4;bundle-version="4.8.1", org.eclipse.swtbot.eclipse.finder, org.eclipse.swtbot.junit4_x; org.eclipse.swtbot.swt.finder, org.apache.log4j, org.hamcrest;" 要使用SWTBot首先要进行升级,下载SWTBot的插件,这里我使用的是Eclipse3.6, 依次选择 eclipse 菜单项"Help-> Install New Software …",在弹出的窗口中添加更新站点, 如图所示,站点是 http://download.eclipse.org/technology/swtbot/Helios/dev-build/update-site。 package plug_test; import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Tree; import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot; import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor; import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView; import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell; import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; public class Creat { private static SWTWorkbenchBot bot; @BeforeClass public static void setUpBeforeClass() throws Exception { bot = new SWTWorkbenchBot(); bot.viewByTitle("Welcome").close(); } @Test public void canCreateANewJavaProject() throws Exception { bot.menu("File").menu("New").menu("Project...").click(); SWTBotShell shell = bot.shell("New Project"); shell.activate(); bot.tree().getTreeItem("Java").expand().select("Java Project"); bot.button("Next >").click(); bot.textWithLabel("Project name:").setText("MyFirstProject"); bot.button("Finish").click(); bot.button("Yes").click(); } @Test public void canCreateANewJavaClass() throws Exception { bot.toolbarDropDownButtonWithTooltip("New Java Class") .menuItem("Class").click(); bot.sleep(2000); bot.shell("New Java Class").activate(); bot.textWithLabel("Source folder:").setText("MyFirstProject/src"); bot.textWithLabel("Package:").setText("org.eclipsecon.project"); bot.textWithLabel("Name:").setText("HelloWorld"); bot.button("Finish").click(); SWTBotEclipseEditor editor = bot.editorByTitle("HelloWorld.java") .toTextEditor();//编辑筐 editor.insertText(4, 0, "int i=6;\n");//插入代码 editor.save(); SWTBotView ProjectExplorerView = bot.viewByTitle("Package Explorer"); ProjectExplorerView.show(); Composite ProjectExplorerComposite = (Composite) ProjectExplorerView .getWidget(); Tree Project_tree = (Tree) bot.widget(widgetOfType(Tree.class), ProjectExplorerComposite); SWTBotTree ProjectExplorerTree = new SWTBotTree(Project_tree); ProjectExplorerTree.getTreeItem("MyFirstProject").select() .expandNode("src").expandNode("org.eclipsecon.project") .expandNode("HelloWorld.java").expand(); System.out.println(bot.cTabItem().activate().getText()); bot.sleep(15000); } @AfterClass public static void tearDownAfterClass() throws Exception { bot.sleep(5000); } } ---------- package plug_test; import org.eclipse.swtbot.swt.finder.junit.SWTBotJUnit4Suite; import org.junit.runner.RunWith; import org.junit.runners.Suite.SuiteClasses; @SuppressWarnings("deprecation") @RunWith(SWTBotJUnit4Suite.class) @SuiteClasses({Creat.class}) public class AllTests { } |
|
返回顶楼 | |
发表时间:2011-01-23
在swtbot里写一个右键操作,楼主遇到过吗?谢谢。
|
|
返回顶楼 | |
发表时间:2011-01-24
zijings8374 写道 在swtbot里写一个右键操作,楼主遇到过吗?谢谢。
用contextMenu参数就是你右键要选择的哪个,呵呵 |
|
返回顶楼 | |