Author: ljelinko
Date: 2011-12-15 08:59:09 -0500 (Thu, 15 Dec 2011)
New Revision: 37355
Added:
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/server/RunningFileOnServerTask.java
Modified:
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/server/MarkFileAsDeployableTask.java
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/test/example/SeamPortletExample.java
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/test/seam/RunSeamPortletOnServer.java
Log:
Created task for running file on server (it includes marking file as deployable)
Modified:
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/server/MarkFileAsDeployableTask.java
===================================================================
---
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/server/MarkFileAsDeployableTask.java 2011-12-15
13:54:49 UTC (rev 37354)
+++
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/server/MarkFileAsDeployableTask.java 2011-12-15
13:59:09 UTC (rev 37355)
@@ -1,5 +1,7 @@
package org.jboss.tools.portlet.ui.bot.task.server;
+import org.eclipse.swtbot.swt.finder.keyboard.KeyboardFactory;
+import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
import org.jboss.tools.portlet.ui.bot.entity.WorkspaceFile;
import org.jboss.tools.portlet.ui.bot.task.AbstractSWTTask;
import org.jboss.tools.portlet.ui.bot.task.workspace.FileContextMenuSelectingTask;
@@ -13,7 +15,7 @@
public class MarkFileAsDeployableTask extends AbstractSWTTask {
private WorkspaceFile workspaceFile;
-
+
public MarkFileAsDeployableTask(WorkspaceFile file) {
this.workspaceFile = file;
}
@@ -21,5 +23,7 @@
@Override
public void perform() {
performInnerTask(new FileContextMenuSelectingTask(workspaceFile, "Mark as
Deployable"));
+ // for the confirmation dialog select OK (the dialog is native and normal swtbot
functions do now work)
+ KeyboardFactory.getAWTKeyboard().pressShortcut(Keystrokes.RIGHT, Keystrokes.CR,
Keystrokes.LF);
}
}
Added:
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/server/RunningFileOnServerTask.java
===================================================================
---
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/server/RunningFileOnServerTask.java
(rev 0)
+++
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/task/server/RunningFileOnServerTask.java 2011-12-15
13:59:09 UTC (rev 37355)
@@ -0,0 +1,85 @@
+package org.jboss.tools.portlet.ui.bot.task.server;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.results.WidgetResult;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.portlet.ui.bot.entity.WorkspaceFile;
+import org.jboss.tools.portlet.ui.bot.task.AbstractSWTTask;
+import org.jboss.tools.ui.bot.ext.SWTBotFactory;
+import org.jboss.tools.ui.bot.ext.Timing;
+import org.jboss.tools.ui.bot.ext.helper.ContextMenuHelper;
+import org.jboss.tools.ui.bot.ext.types.IDELabel;
+
+/**
+ * Runs the file on server.
+ *
+ * @author Lucia Jelinkova
+ *
+ */
+public class RunningFileOnServerTask extends AbstractSWTTask {
+
+ private WorkspaceFile workspaceFile;
+
+ public RunningFileOnServerTask(WorkspaceFile file) {
+ this.workspaceFile = file;
+ }
+
+ @Override
+ public void perform() {
+ performInnerTask(new MarkFileAsDeployableTask(workspaceFile));
+ SWTBot viewBot = SWTBotFactory.getPackageexplorer().show().bot();
+ SWTBotView view = SWTBotFactory.getPackageexplorer().show();
+
+ SWTBotTreeItem item = SWTBotFactory.getEclipse().getTreeItemOnPath(viewBot,
viewBot.tree(), 0, workspaceFile.getFileName(), getFilePath());
+ item.select();
+ ContextMenuHelper.prepareTreeItemForContextMenu(viewBot.tree(), item);
+ final SWTBotMenu menuRunAs =
viewBot.menu(IDELabel.Menu.RUN).menu(IDELabel.Menu.RUN_AS);
+ final MenuItem menuItem = UIThreadRunnable
+ .syncExec(new WidgetResult<MenuItem>() {
+ public MenuItem run() {
+ int menuItemIndex = 0;
+ MenuItem menuItem = null;
+ final MenuItem[] menuItems = menuRunAs.widget.getMenu().getItems();
+ while (menuItem == null && menuItemIndex < menuItems.length){
+ if (menuItems[menuItemIndex].getText().indexOf("Run on Server") > -
1){
+ menuItem = menuItems[menuItemIndex];
+ }
+ else{
+ menuItemIndex++;
+ }
+ }
+ return menuItem;
+ }
+ });
+ if (menuItem != null){
+ new SWTBotMenu(menuItem).click();
+ SWTBotShell shell = getBot().shell(IDELabel.Shell.RUN_ON_SERVER).activate();
+ SWTBotFactory.getOpen().finish(shell.bot());
+ SWTBotFactory.getUtil().waitForAll(Timing.time3S());
+ }
+ else{
+ throw new WidgetNotFoundException("Unable to find Menu Item with Label 'Run
on Server'");
+ }
+ }
+
+ /**
+ * Adds the project to the path and removes file name.
+ * @return
+ */
+ private String[] getFilePath() {
+ List<String> path = new
ArrayList<String>(Arrays.asList(workspaceFile.getFilePathAsArray()));
+ path.add(0, workspaceFile.getProject());
+ path.remove(path.size() - 1);
+ return path.toArray(new String[path.size()]);
+ }
+}
Modified:
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/test/example/SeamPortletExample.java
===================================================================
---
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/test/example/SeamPortletExample.java 2011-12-15
13:54:49 UTC (rev 37354)
+++
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/test/example/SeamPortletExample.java 2011-12-15
13:59:09 UTC (rev 37355)
@@ -4,6 +4,7 @@
import org.jboss.tools.portlet.ui.bot.entity.WorkspaceFile;
import org.jboss.tools.portlet.ui.bot.task.server.MarkFileAsDeployableTask;
+import org.jboss.tools.portlet.ui.bot.task.server.RunningFileOnServerTask;
import org.jboss.tools.ui.bot.ext.config.Annotations.DB;
import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
import org.jboss.tools.ui.bot.ext.config.Annotations.Seam;
@@ -42,7 +43,7 @@
@Override
protected void executeExample() {
- doPerform(new MarkFileAsDeployableTask(DATASOURCE_FILE));
+ doPerform(new RunningFileOnServerTask(DATASOURCE_FILE));
super.executeExample();
}
}
Modified:
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/test/seam/RunSeamPortletOnServer.java
===================================================================
---
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/test/seam/RunSeamPortletOnServer.java 2011-12-15
13:54:49 UTC (rev 37354)
+++
trunk/portlet/tests/org.jboss.tools.portlet.ui.bot.test/src/org/jboss/tools/portlet/ui/bot/test/seam/RunSeamPortletOnServer.java 2011-12-15
13:59:09 UTC (rev 37355)
@@ -4,7 +4,7 @@
import static
org.jboss.tools.portlet.ui.bot.test.seam.CreateSeamPortletProject.PROJECT_NAME;
import org.jboss.tools.portlet.ui.bot.entity.WorkspaceFile;
-import org.jboss.tools.portlet.ui.bot.task.server.MarkFileAsDeployableTask;
+import org.jboss.tools.portlet.ui.bot.task.server.RunningFileOnServerTask;
import org.jboss.tools.portlet.ui.bot.test.template.RunPortletOnServerTemplate;
import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
import org.jboss.tools.ui.bot.ext.config.Annotations.Server;
@@ -36,7 +36,7 @@
@Override
public void testRunOnServer() {
- doPerform(new MarkFileAsDeployableTask(DATASOURCE_FILE));
+ doPerform(new RunningFileOnServerTask(DATASOURCE_FILE));
super.testRunOnServer();
}
}
Show replies by date