performance/test/qa-functional/src/org/netbeans/performance/uml/actions/CreateClassDiagramFromMultipleNodes.java
Moved performance/uml out of main.
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
4 * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
6 * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
7 * Other names may be trademarks of their respective owners.
9 * The contents of this file are subject to the terms of either the GNU
10 * General Public License Version 2 only ("GPL") or the Common
11 * Development and Distribution License("CDDL") (collectively, the
12 * "License"). You may not use this file except in compliance with the
13 * License. You can obtain a copy of the License at
14 * http://www.netbeans.org/cddl-gplv2.html
15 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
16 * specific language governing permissions and limitations under the
17 * License. When distributing the software, include this License Header
18 * Notice in each file and include the License file at
19 * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
20 * particular file as subject to the "Classpath" exception as provided
21 * by Oracle in the GPL Version 2 section of the License file that
22 * accompanied this code. If applicable, add the following below the
23 * License Header, with the fields enclosed by brackets [] replaced by
24 * your own identifying information:
25 * "Portions Copyrighted [year] [name of copyright owner]"
29 * The Original Software is NetBeans. The Initial Developer of the Original
30 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
31 * Microsystems, Inc. All Rights Reserved.
33 * If you wish your version of this file to be governed by only the CDDL
34 * or only the GPL Version 2, indicate your decision by adding
35 * "[Contributor] elects to include this software in this distribution
36 * under the [CDDL or GPL Version 2] license." If you do not indicate a
37 * single choice of license, a recipient has the option to distribute
38 * your version of this file under either the CDDL, the GPL Version 2 or
39 * to extend the choice of license to its licensees as provided above.
40 * However, if you add GPL Version 2 code and therefore, elected the GPL
41 * Version 2 license, then the option applies only if the new code is
42 * made subject to such option by the copyright holder.
44 package org.netbeans.performance.uml.actions;
46 import java.awt.event.InputEvent;
49 import javax.swing.tree.TreePath;
50 import org.netbeans.jellytools.ProjectsTabOperator;
51 import org.netbeans.jellytools.actions.CloseAllDocumentsAction;
52 import org.netbeans.jellytools.nodes.Node;
53 import org.netbeans.jellytools.NbDialogOperator;
57 import org.netbeans.jemmy.operators.JTreeOperator;
58 import org.netbeans.jemmy.operators.JPopupMenuOperator;
59 import org.netbeans.jemmy.EventTool;
60 import org.netbeans.jemmy.operators.ComponentOperator;
61 import org.netbeans.jemmy.operators.JListOperator;
62 import org.netbeans.jemmy.operators.JButtonOperator;
63 import org.netbeans.jemmy.operators.JComboBoxOperator;
64 import org.netbeans.modules.performance.utilities.CommonUtilities;
65 import org.netbeans.modules.performance.utilities.PerformanceTestCase;
66 import org.netbeans.modules.project.ui.test.ProjectSupport;
69 * Measure UI-RESPONSIVENES and WINDOW_OPENING.
71 * @author rashid@netbeans.org
74 public class CreateClassDiagramFromMultipleNodes extends PerformanceTestCase {
76 private static String testProjectName = "jEdit-Model";
77 private NbDialogOperator create_diag;
79 /** Creates a new instance of CreateClassDiagramFromMultipleNodes */
80 public CreateClassDiagramFromMultipleNodes(String testName) {
83 WAIT_AFTER_OPEN = 4000;
86 public CreateClassDiagramFromMultipleNodes(String testName, String performanceDataName) {
87 super(testName, performanceDataName);
89 WAIT_AFTER_OPEN = 4000;
93 public void initialize() {
95 ProjectSupport.openProject(CommonUtilities.getProjectsDir() + testProjectName);
98 public void prepare() {
101 Node pNode = new ProjectsTabOperator().getProjectRootNode(testProjectName);
102 Node diag1 = new Node(pNode, "Model|org|gjt|sp|jedit|gui|AbbrevEditor");
103 Node diag2 = new Node(pNode, "Model|org|gjt|sp|jedit|gui|IOProgressMonitor");
104 JTreeOperator projectTree = new ProjectsTabOperator().tree();
106 TreePath path1 = diag1.getTreePath();
107 TreePath path2 = diag2.getTreePath();
109 projectTree.clickOnPath(path1, 1, InputEvent.BUTTON1_MASK);
110 new EventTool().waitNoEvent(500);
111 projectTree.clickOnPath(path2, 1, InputEvent.BUTTON1_MASK, InputEvent.SHIFT_MASK);
112 new EventTool().waitNoEvent(2000);
113 projectTree.clickOnPath(path2, 1, InputEvent.BUTTON3_MASK);
115 log(projectTree.getSelectionCount() + " elements selected");
117 JPopupMenuOperator selectMenu = new JPopupMenuOperator();
119 selectMenu.pushMenu("Create Diagram From Selected Elements");
121 create_diag = new NbDialogOperator("Create New Diagram");
122 create_diag.move(0, 0);
123 new EventTool().waitNoEvent(1000);
124 JListOperator diag_type = new JListOperator(create_diag, 1);
125 diag_type.selectItem("Class Diagram");
126 JComboBoxOperator spaceCombo = new JComboBoxOperator(create_diag);
127 spaceCombo.selectItem("jEdit-Model");
130 public ComponentOperator open() {
133 JButtonOperator finishButton = new JButtonOperator(create_diag, "Finish");
140 protected void shutdown() {
142 ProjectSupport.closeProject(testProjectName);
146 public void close() {
148 new CloseAllDocumentsAction().performAPI();
151 // public static void main(java.lang.String[] args) {
152 // junit.textui.TestRunner.run(new CreateClassDiagramFromMultipleNodes("measureTime"));