/******************************************************************************* * Copyright (c) 2008, 2015 Ketan Padegaonkar and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Ketan Padegaonkar - initial API and implementation * Patrick Tasse - Speed up SWTBot tests * Lorenzo Bettini - https://bugs.eclipse.org/bugs/show_bug.cgi?id=479317 *******************************************************************************/ package org.eclipse.swtbot.eclipse.finder.widgets.helpers; import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot; import org.eclipse.swtbot.swt.finder.waits.Conditions; import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu; import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell; /** * Screen object to create a new java project * * @author Ketan Padegaonkar <KetanPadegaonkar [at] gmail [dot] com> * @version $Id$ */ public class NewJavaProject { private SWTWorkbenchBot bot = new SWTWorkbenchBot(); public void createProject(String projectName) throws Exception { if (!bot.activePerspective().getLabel().equals("Java")) { // In Mars "Open Perspective" is nested in "Perspective", so use this // method to recursively find "Open Perspective" and don't assume it is // nested in "Window" as it used to be in versions earlier than Mars SWTBotMenu perspectiveMenu = bot.menu("Open Perspective"); SWTBotMenu javaPerspectiveMenu = perspectiveMenu.menu("Java"); if (javaPerspectiveMenu.isVisible() && javaPerspectiveMenu.isEnabled()) { javaPerspectiveMenu.click(); } } bot.menu("File").menu("New").menu("Java Project").click(); SWTBotShell shell = bot.shell("New Java Project"); shell.activate(); bot.textWithLabel("Project name:").setText(projectName); bot.button("Finish").click(); bot.waitUntil(Conditions.shellCloses(shell)); } }