You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by wa...@apache.org on 2012/10/11 09:03:10 UTC

svn commit: r1396930 - in /incubator/ooo/trunk/test/testgui: data/svt/ source/svt/gui/ source/svt/gui/sc/ source/svt/gui/sd/ source/svt/gui/sw/ source/testlib/gui/

Author: wanglf
Date: Thu Oct 11 07:03:08 2012
New Revision: 1396930

URL: http://svn.apache.org/viewvc?rev=1396930&view=rev
Log:
add svt cases in test/testgui. inlcude cases in svt.gui and sample files in testgui/data/svt

Added:
    incubator/ooo/trunk/test/testgui/data/svt/
    incubator/ooo/trunk/test/testgui/data/svt/64K_Chart1.ods   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/64K_Chart2.ods   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/64K_Chart3.ods   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/64K_Chart4.ods   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/64K_Chart5.ods   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/64K_Chart6.ods   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/DarkBlue.otp   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/OlEinODP.odp   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/howtouse.odt   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/sickness_self-certification_meory issue.odt   (with props)
    incubator/ooo/trunk/test/testgui/data/svt/swdesign.odt   (with props)
    incubator/ooo/trunk/test/testgui/source/svt/gui/sc/BasicFuncOnCalc.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sd/BasicFuncOnImpress.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sw/BasicFuncOnWriter.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sw/FileTypeAboutWriter.java
Removed:
    incubator/ooo/trunk/test/testgui/source/svt/gui/LongRun.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sc/OperationOnNewSC.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sc/OperationOnSampleFile.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sc/SwitchFilesContainingChart.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sd/DragOLEObject.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sd/OperationOnNewSD.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sd/SwitchDiffViewsOnOdpFile.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sw/OperationOnNewSW.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sw/OperationOnSample1.java
    incubator/ooo/trunk/test/testgui/source/svt/gui/sw/OperationOnSample2.java
Modified:
    incubator/ooo/trunk/test/testgui/source/testlib/gui/UIMap.java

Added: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart1.ods
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/64K_Chart1.ods?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart1.ods
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart2.ods
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/64K_Chart2.ods?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart2.ods
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart3.ods
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/64K_Chart3.ods?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart3.ods
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart4.ods
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/64K_Chart4.ods?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart4.ods
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart5.ods
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/64K_Chart5.ods?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart5.ods
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart6.ods
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/64K_Chart6.ods?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/64K_Chart6.ods
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/DarkBlue.otp
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/DarkBlue.otp?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/DarkBlue.otp
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/OlEinODP.odp
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/OlEinODP.odp?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/OlEinODP.odp
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/howtouse.odt
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/howtouse.odt?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/howtouse.odt
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/sickness_self-certification_meory issue.odt
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/sickness_self-certification_meory%20issue.odt?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/sickness_self-certification_meory issue.odt
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/data/svt/swdesign.odt
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/data/svt/swdesign.odt?rev=1396930&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/trunk/test/testgui/data/svt/swdesign.odt
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/ooo/trunk/test/testgui/source/svt/gui/sc/BasicFuncOnCalc.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/source/svt/gui/sc/BasicFuncOnCalc.java?rev=1396930&view=auto
==============================================================================
--- incubator/ooo/trunk/test/testgui/source/svt/gui/sc/BasicFuncOnCalc.java (added)
+++ incubator/ooo/trunk/test/testgui/source/svt/gui/sc/BasicFuncOnCalc.java Thu Oct 11 07:03:08 2012
@@ -0,0 +1,485 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+/**
+ * 
+ */
+
+package svt.gui.sc;
+
+import static org.openoffice.test.common.Testspace.*;
+import static org.openoffice.test.vcl.Tester.*;
+import static testlib.gui.AppTool.*;
+import static testlib.gui.UIMap.*;
+
+import java.io.FileOutputStream;
+import java.io.PrintStream;
+import java.util.HashMap;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
+import org.openoffice.test.OpenOffice;
+import org.openoffice.test.common.DataSheet;
+import org.openoffice.test.common.FileUtil;
+import org.openoffice.test.common.Logger;
+import org.openoffice.test.common.SystemUtil;
+import org.openoffice.test.common.Testspace;
+
+import testlib.gui.SCTool;
+
+public class BasicFuncOnCalc {
+	@Rule
+	public Logger log = Logger.getLogger(this);
+
+	@Rule
+	public TestName testname = new TestName();
+
+	private static DataSheet xmlResult;
+
+	private String pid = null;
+
+	private static int iterator = 100;
+
+	private int i = 0;
+
+	/**
+	 * @throws java.lang.Exception
+	 */
+	@BeforeClass
+	public static void beforeClass() throws Exception {
+
+		xmlResult = new DataSheet(getFile("output/svt_gui_sc.xml"));
+		xmlResult.addRow("BasicFuncOnCalc", "Method", "Iterator",
+				"Consumed Time(MS)", "Memory(KB)", "CPU(%)");
+	}
+
+	@AfterClass
+	public static void afterClass() throws Exception {
+		app.stop();
+	}
+	
+	@Before 
+	public void before()throws Exception{
+		app.start(true);
+	}
+	
+
+	@Test
+	public void saveNewSCWithNumberFormat() {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSC();
+			SCTool.selectRange("A1");
+			typeKeys("0.3");
+			sleep(1);
+			app.dispatch(".uno:FormatCellDialog");
+			sleep(2);
+			scFormatCode.setText("0%");
+			typeKeys("<enter>");
+			sleep(1);
+			saveAndReopenNewSC(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSCWithPrintRange() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSC();
+			app.dispatch(".uno:EditPrintArea");
+			sleep(1);
+			scPrintAreaType.select("- user defined -");
+			scPrintArea.setText("$A$1:$C$4");
+			typeKeys("<enter>");
+			SCTool.selectRange("A1");
+			typeKeys("test");
+			saveAndReopenNewSC(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSCWithText() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSC();
+			SCTool.selectRange("A1");
+			typeKeys("test");
+			saveAndReopenNewSC(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSCWithDataSort() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSC();
+			SCTool.selectRange("A1");
+			typeKeys("3<down>2<down>5<down>1<down>6<down>4<down>10<down>8<down>9<down>7");
+			sleep(1);
+			app.dispatch(".uno:DataSort");
+			sortOptionsPage.select();
+			sortOptionsPageRangeContainsColumnLabels.uncheck();
+			sortPage.select();
+			sortPageBy1.select(1); // "Column A"
+			sortPageAscending1.check();
+			sortPage.ok();
+			saveAndReopenNewSC(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSCWithInsertSheets() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSC();
+			app.dispatch(".uno:Insert");
+			scAfterCurrentSheet.check();
+			scNewSheetName.setText("Instant Filter");
+			scInsertSheetDlg.ok();
+			sleep(5);
+			saveAndReopenNewSC(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSCWithStandardFilter() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSC();
+			SCTool.selectRange("A1");
+			typeKeys("A<down>1<down>2<down>3<down>1<down>2<down>3<down>1<down>2<down>3");
+			sleep(1);
+			SCTool.selectRange("A1");
+			app.dispatch(".uno:DataFilterStandardFilter");
+			sleep(2);
+			filterValue1.setText("1");
+			standardFilterDlg.ok();
+			saveAndReopenNewSC(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSCWithInsertPic() throws Exception {
+		String pic = prepareData("image/blue_256x256.jpg");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSC();
+			calc.menuItem("Insert->Picture->From File...").select();
+			sleep(2);
+			filePickerPath.setText(pic);
+			sleep(1);
+			filePickerOpen.click();
+			sleep(2);
+			typeKeys("<esc>");
+			sleep(2);
+			saveAndReopenNewSC(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSCWithValidaty() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSC();
+			app.dispatch(".uno:Insert");
+			scAfterCurrentSheet.check();
+			scNewSheetName.setText("Data Validate");
+			scInsertSheetDlg.ok();
+			sleep(5);
+			SCTool.selectRange("B2:E5");
+			sleep(2);
+
+			app.dispatch(".uno:Validation");
+			scValidityCriteriaTabpage.select();
+			scValidityCriteriaAllowList.select("Whole Numbers");
+			scValidityDecimalCompareOperator.select("greater than");
+			scValiditySourceInput.setText("1");
+			scValidityErrorAlertTabPage.select();
+			scValidityShowErrorMessage.check();
+			scValidityErrorMessageTitle.setText("Error");
+			scValidityErrorMessage.setText("Must greater than 1");
+			scValidityErrorAlertTabPage.ok();
+
+			SCTool.selectRange("B2");
+			typeKeys("0<enter>");
+			activeMsgBox.ok();
+			sleep(1);
+
+			SCTool.selectRange("E5");
+			typeKeys("1<enter>");
+			activeMsgBox.ok();
+			sleep(1);
+
+			SCTool.selectRange("E2");
+			typeKeys("2<enter>");
+			sleep(5);
+			saveAndReopenNewSC(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void insertChartToOpenedSC() throws Exception {
+		String file = prepareData("pvt/plain_11s.ods");
+		String[][] inputStr = { { "Area", "Item", "Count" }, { "1", "2", "3" },
+				{ "4", "5", "6" }, { "7", "8", "9" }, { "10", "11", "12" } };
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			calc.waitForExistence(20, 2);
+			sleep(2);
+
+			// Insert Chart
+			app.dispatch(".uno:Insert");
+			scAfterCurrentSheet.check();
+			scNewSheetName.setText("Instant Chart");
+			scInsertSheetDlg.ok();
+			sleep(5);
+			inputCells(inputStr);
+			sleep(2);
+			SCTool.selectRange("A1:C5");
+			calc.menuItem("Insert->Chart...").select();
+			sleep(1);
+			chartWizard.ok();
+			sleep(5);
+			calc.typeKeys("<esc>");
+			sleep(5);
+			calc.typeKeys("<esc>");
+			sleep(5);
+			calc.typeKeys("<esc>");
+			sleep(5);
+			closeWithoutSaveSC();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void insertPicToOpenedSC() throws Exception {
+		String file = prepareData("pvt/plain_11s.ods");
+		String pic = prepareData("image/blue_256x256.jpg");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			calc.waitForExistence(20, 2);
+			sleep(2);
+
+			// Insert Chart
+			app.dispatch(".uno:Insert");
+			scAfterCurrentSheet.check();
+			scNewSheetName.setText("Instant Graphic");
+			scInsertSheetDlg.ok();
+			sleep(5);
+			calc.menuItem("Insert->Picture->From File...").select();
+			sleep(2);
+			filePickerPath.setText(pic);
+			sleep(1);
+			filePickerOpen.click();
+			sleep(5);
+			calc.typeKeys("<esc>");
+			sleep(2);
+			closeWithoutSaveSC();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void insertFontWorkToOpenedSC() throws Exception {
+		String file = prepareData("pvt/plain_11s.ods");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			calc.waitForExistence(20, 2);
+			sleep(2);
+
+			calc.menuItem("View->Toolbars->Fontwork").select();
+			sleep(2);
+			app.dispatch(".uno:FontworkGalleryFloater");
+			sleep(2);
+			typeKeys("<right>");
+			fontworkGalleryDlg.ok();
+			sleep(2);
+			calc.typeKeys("<esc>");
+			sleep(2);
+
+			closeWithoutSaveSC();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void switchFileContainingChart() throws Exception {
+		String file1 = prepareData("svt/64K_Chart1.ods");
+		String file2 = prepareData("svt/64K_Chart2.ods");
+		String file3 = prepareData("svt/64K_Chart3.ods");
+		String file4 = prepareData("svt/64K_Chart4.ods");
+		String file5 = prepareData("svt/64K_Chart5.ods");
+		String file6 = prepareData("svt/64K_Chart6.ods");
+
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file1);
+			calc.waitForExistence(20, 2);
+			sleep(2);
+
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file2);
+			calc.waitForExistence(20, 2);
+			sleep(2);
+
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file3);
+			calc.waitForExistence(20, 2);
+			sleep(2);
+
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file4);
+			calc.waitForExistence(20, 2);
+			sleep(2);
+
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file5);
+			calc.waitForExistence(20, 2);
+			sleep(2);
+
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file6);
+			calc.waitForExistence(20, 2);
+
+			sleep(2);
+
+			selectCertainFile(2);
+			sleep(2);
+			selectCertainFile(3);
+			sleep(2);
+			selectCertainFile(5);
+			sleep(2);
+
+			closeAlldocuments();
+			sleep(3);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	public void selectCertainFile(int k) {
+		calc.menuItem("Window").select();
+		k += 5;
+		for (int i = 0; i < k; i++) {
+			typeKeys("<down>");
+		}
+		typeKeys("<enter>");
+		sleep(2);
+	}
+
+	public void closeAlldocuments() {
+		for (int index = 3; index < 9; index++) {
+			calc.menuItem("File->Close").select();
+			sleep(2);
+		}
+
+	}
+
+	public static void inputCells(String[][] inputs) {
+		String back = "";
+		for (int i = 0; i < inputs.length; i++) {
+			calc.typeKeys(back);
+			sleep(1);
+			back = "";
+			for (int j = 0; j < inputs[i].length; j++) {
+				typeKeys(inputs[i][j]);
+				typeKeys("<Right>");
+				sleep(0.5);
+				back += "<Left>";
+			}
+			back += "<enter>";
+		}
+		sleep(2);
+	}
+
+	private void createNewSC() {
+		app.dispatch("private:factory/scalc");
+	}
+
+	private void saveAndReopenNewSC(int iterator) {
+		String saveTo = getPath("temp/" + "tempSC_New" + iterator + ".ods");
+		calc.menuItem("File->Save As...").select();
+		FileUtil.deleteFile(saveTo);
+		submitSaveDlg(saveTo);
+		if (activeMsgBox.exists()) {
+			activeMsgBox.yes();
+			sleep(2);
+		}
+		app.dispatch(".uno:CloseDoc");
+		// sleep(2);
+		startCenterOpenButton.waitForExistence(30, 2);
+		startCenterOpenButton.click();
+		submitOpenDlg(saveTo);
+		sleep(1);
+		app.dispatch(".uno:CloseDoc");
+	}
+
+	private void closeWithoutSaveSC() {
+		calc.menuItem("File->Close").select();
+		activeMsgBox.no();
+		sleep(2);
+	}
+
+	private HashMap<String, Object> getPerfData() {
+		HashMap<String, Object> proccessInfo = SystemUtil
+				.findProcess(".*(soffice\\.bin|soffice\\.exe|soffice).*");
+		String pid = (String) proccessInfo.get("pid");
+		return SystemUtil.getProcessPerfData(pid);
+	}
+
+	private void addRecord(int i, long start, long end) {
+		HashMap<String, Object> perf = getPerfData();
+		xmlResult.addRow("BasicFuncOnCalc",testname.getMethodName(), i, (end - start),
+				perf.get("rss"), perf.get("pcpu"));
+	}
+}

Added: incubator/ooo/trunk/test/testgui/source/svt/gui/sd/BasicFuncOnImpress.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/source/svt/gui/sd/BasicFuncOnImpress.java?rev=1396930&view=auto
==============================================================================
--- incubator/ooo/trunk/test/testgui/source/svt/gui/sd/BasicFuncOnImpress.java (added)
+++ incubator/ooo/trunk/test/testgui/source/svt/gui/sd/BasicFuncOnImpress.java Thu Oct 11 07:03:08 2012
@@ -0,0 +1,385 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+/**
+ * 
+ */
+
+package svt.gui.sd;
+
+import static org.junit.Assert.assertEquals;
+import static org.openoffice.test.common.Testspace.*;
+import static org.openoffice.test.vcl.Tester.*;
+import static testlib.gui.AppTool.*;
+import static testlib.gui.UIMap.*;
+
+import java.io.FileOutputStream;
+import java.io.PrintStream;
+import java.util.HashMap;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
+import org.openoffice.test.OpenOffice;
+import org.openoffice.test.common.DataSheet;
+import org.openoffice.test.common.FileUtil;
+import org.openoffice.test.common.Logger;
+import org.openoffice.test.common.SystemUtil;
+import org.openoffice.test.common.Testspace;
+
+import testlib.gui.SCTool;
+
+public class BasicFuncOnImpress {
+	@Rule
+	public Logger log = Logger.getLogger(this);
+
+	@Rule
+	public TestName testname = new TestName();
+
+	private static DataSheet xmlResult;
+
+	private String pid = null;
+
+	private static int iterator = 100;
+
+	private int i = 0;
+
+	/**
+	 * @throws java.lang.Exception
+	 */
+	@BeforeClass
+	public static void beforeClass() throws Exception {
+
+		xmlResult = new DataSheet(getFile("output/svt_gui_sd.xml"));
+		xmlResult.addRow("BasicFunOnImpress","Method", "Iterator", "Consumed Time(MS)",
+				"Memory(KB)", "CPU(%)");
+	}
+
+	@AfterClass
+	public static void afterClass() throws Exception {
+		app.stop();
+	}
+
+	@Before
+	public void before() throws Exception{
+		app.start(true);
+	}
+
+	@Test
+	public void saveNewSDWithNewSlides() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSD();
+			impress.menuItem("Insert->Slide").select();
+			sleep(2);
+			saveAndReopenNewSD(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSDWithTable() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSD();
+			app.dispatch(".uno:InsertTable", 3);
+			sleep(2);
+			numberofCol.setText("5");
+			numberofRow.setText("4");
+			sleep(2);
+			insertTable.ok();
+			impress.typeKeys("<enter>");
+			impress.typeKeys("2");
+			impress.typeKeys("<right>");
+			impress.typeKeys("2");
+			impress.typeKeys("<right>");
+			impress.typeKeys("<ctrl end>");
+			impress.typeKeys("2");
+			sleep(2);
+			saveAndReopenNewSD(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSDWithPic() throws Exception {
+		String pic = prepareData("image/blue_256x256.jpg");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSD();
+			impress.menuItem("Insert->Picture->From File...").select();
+			sleep(2);
+			filePickerPath.setText(pic);
+			sleep(1);
+			filePickerOpen.click();
+			sleep(5);
+			impress.typeKeys("<esc>");
+			sleep(2);
+			saveAndReopenNewSD(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSDWithTextbox()throws Exception{
+		if(!sdDrawingToolbar.exists()){
+			app.dispatch(".uno:AvailableToolbars?Toolbar:string=toolbar");
+		}
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSD();
+			sdInsertTextboxButtonOnToolbar.click();
+			impress.focus();
+			impress.drag(100, 100, 200, 200);
+			typeKeys("test");
+			typeKeys("<esc>");
+			sleep(2);
+			saveAndReopenNewSD(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void saveNewSDWithExternalSlides() throws Exception {
+		String externalFile = prepareData("pvt/plain_200p.odp");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSD();
+			app.dispatch(".uno:ImportFromFile");
+			sleep(2);
+			filePickerPath.setText(externalFile);
+			filePickerOpen.click();
+			sleep(2);
+			insertSlideObjects.ok();
+			sleep(5);
+			saveAndReopenNewSD(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSDWithAnimation()throws Exception{
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSD();			
+			//Insert a Shape and select it via Navigator
+			sdCalloutShapes.click();
+			impress.focus();
+			impress.drag(100, 100, 200, 200);
+			app.dispatch(".uno:CustomAnimation");
+			sdAddAnimation.click();
+			sdEntranceAnimationTab.waitForExistence(60, 2);
+			sdEntranceAnimationTab.select("Circle");
+			typeKeys("<enter>");
+			sdAnimationList.openContextMenu();
+			typeKeys("<down><down><enter>");
+			impress.menuItem("Slide Show->Slide Show").select();
+			sleep(10);
+			impress.typeKeys("<esc>");
+			sleep(5);
+			saveAndReopenNewSD(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void saveNewSDWithShowSettings() throws Exception {
+		String externalFile = prepareData("pvt/plain_200p.odp");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSD();
+			// Insert Slides from External Sample files
+			impress.menuItem("Insert->File...").select();
+			sleep(2);
+			filePickerPath.setText(externalFile);
+			filePickerOpen.click();
+			sleep(2);
+			insertSlideObjects.ok();
+			sleep(20);
+
+			// Slide Screen Show Settings
+			impress.menuItem("Slide Show->Slide Transition...").select();
+			sleep(2);
+			impressSlideTransitions.select("Uncover Up");
+			sleep(2);
+			slideShowSpeed.select("Slow");
+			sleep(5);
+			slideAutoAfter.check();
+			sleep(2);
+			applyToAllSlides.click();
+			sleep(2);
+			impress.menuItem("Slide Show->Slide Show").select();
+			sleep(70);
+			impress.typeKeys("<esc>");
+			sleep(5);
+			saveAndReopenNewSD(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void saveSDTemplate()throws Exception{
+		String templateFile = prepareData("svt/DarkBlue.otp");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(templateFile);
+			impress.waitForExistence(10, 2);
+			sleep(5);	
+			saveAndReopenNewSD(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void opChartOnOpenedSD() throws Exception {
+		String file = prepareData("svt/OLEinODP.odp");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			impress.waitForExistence(10, 2);
+			sleep(5);
+			if (!sdNavigatorDlg.exists()) {
+				app.dispatch(".uno:Navigator");
+			}
+			impress.focus();
+			sdNavigator.focus();
+			sdNavigator.collapseAll();
+			sdNavigator.expand(0);
+			sdNavigator.select(1);
+			typeKeys("<enter>");
+			impress.menuItem("Edit->Copy").select();
+			sleep(2);
+			impress.menuItem("Edit->Paste").select();
+			sleep(2);
+
+			sdNavigator.focus();
+			sdNavigator.collapseAll();
+			sdNavigator.expand(0);
+			sdNavigator.select(2);
+			typeKeys("<enter>");
+			impress.menuItem("Edit->Copy").select();
+			sleep(2);
+			impress.menuItem("Edit->Paste").select();
+			sleep(2);
+
+			sdNavigator.focus();
+			sdNavigator.collapseAll();
+			sdNavigator.expand(0);
+			sdNavigator.select(3);
+			typeKeys("<enter>");
+			impress.menuItem("Edit->Copy").select();
+			sleep(2);
+			impress.menuItem("Edit->Paste").select();
+			sleep(2);
+			closeWithoutSaveSD();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void switchViewOfOpenedSD() throws Exception {
+		String file = prepareData("pvt/plain_200p.odp");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			impress.waitForExistence(10, 2);
+			sleep(5);
+
+			impress.menuItem("View->Outline").select();
+			sleep(2);
+			impressOutline.menuItem("View->Slide Sorter").select();
+			sleep(10);
+			impressSlideSorter.menuItem("View->Notes Page").select();
+			sleep(2);
+			impressHandoutView.menuItem("View->Master->Slide Master").select();
+			sleep(2);
+			impress.menuItem("View->Master->Notes Master").select();
+			sleep(2);
+
+			impressHandoutView.menuItem("View->Normal").select();
+			sleep(2);
+			closeWithoutSaveSD();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	private void createNewSD() {
+		app.dispatch("private:factory/simpress?slot=6686");
+		presentationWizard.ok();
+	}
+
+	private void saveAndReopenNewSD(int iterator) {
+		String saveTo = getPath("temp/" + "tempSD_New" + iterator + ".odp");
+		impress.menuItem("File->Save As...").select();
+		FileUtil.deleteFile(saveTo);
+		submitSaveDlg(saveTo);
+		if (activeMsgBox.exists()) {
+			activeMsgBox.yes();
+			sleep(2);
+		}
+		sleep(5);
+		app.dispatch(".uno:CloseDoc");	
+		startCenterOpenButton.waitForExistence(30, 2);
+		startCenterOpenButton.click();
+		submitOpenDlg(saveTo);
+		sleep(2);		
+		app.dispatch(".uno:CloseDoc");
+	}
+	
+	private void closeWithoutSaveSD() {
+		impress.menuItem("File->Close").select();
+		if (activeMsgBox.exists()) {
+			activeMsgBox.no();
+			sleep(2);
+		}
+	}
+
+	private HashMap<String, Object> getPerfData() {
+		HashMap<String, Object> proccessInfo = SystemUtil
+				.findProcess(".*(soffice\\.bin|soffice\\.exe|soffice).*");
+		String pid = (String) proccessInfo.get("pid");
+		return SystemUtil.getProcessPerfData(pid);
+	}
+
+	private void addRecord(int i, long start, long end) {
+		HashMap<String, Object> perf = getPerfData();
+		xmlResult.addRow("BasicFuncOnImpress",testname.getMethodName(), i, (end - start),
+				perf.get("rss"), perf.get("pcpu"));
+	}
+}

Added: incubator/ooo/trunk/test/testgui/source/svt/gui/sw/BasicFuncOnWriter.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/source/svt/gui/sw/BasicFuncOnWriter.java?rev=1396930&view=auto
==============================================================================
--- incubator/ooo/trunk/test/testgui/source/svt/gui/sw/BasicFuncOnWriter.java (added)
+++ incubator/ooo/trunk/test/testgui/source/svt/gui/sw/BasicFuncOnWriter.java Thu Oct 11 07:03:08 2012
@@ -0,0 +1,530 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+/**
+ * 
+ */
+package svt.gui.sw;
+
+import static org.openoffice.test.common.Testspace.getFile;
+import static org.openoffice.test.common.Testspace.getPath;
+import static org.openoffice.test.common.Testspace.prepareData;
+import static org.openoffice.test.vcl.Tester.*;
+import static testlib.gui.AppTool.*;
+import static testlib.gui.UIMap.*;
+
+import java.io.FileOutputStream;
+import java.io.PrintStream;
+import java.util.HashMap;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
+import org.openoffice.test.common.DataSheet;
+import org.openoffice.test.common.FileUtil;
+import org.openoffice.test.common.Logger;
+import org.openoffice.test.common.SystemUtil;
+import org.openoffice.test.common.Testspace;
+
+public class BasicFuncOnWriter {
+	@Rule
+	public Logger log = Logger.getLogger(this);
+
+	@Rule
+	public TestName testname = new TestName();
+
+	private static DataSheet xmlResult;
+
+	private String pid = null;
+
+	private static int iterator = 100;
+
+	private int i = 0;
+
+	/**
+	 * @throws java.lang.Exception
+	 */
+	@BeforeClass
+	public static void beforeClass() throws Exception {
+
+		xmlResult = new DataSheet(getFile("output/svt_gui_sw.xml"));
+		xmlResult.addRow("BasicFuncOnWriter","Method", "Iterator", "Consumed Time(MS)",
+				"Memory(KB)", "CPU(%)");
+	}
+
+	@AfterClass
+	public static void afterClass() throws Exception {
+		app.stop();
+	}
+	
+	@Before
+	public void before()throws Exception{
+		app.start(true);
+	}
+	
+	@Test
+	public void saveNewSWWithPic() throws Exception {
+		String pic = prepareData("image/blue_256x256.jpg");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			writer.menuItem("Insert->Picture->From File...").select();
+			sleep(2);
+			filePickerPath.setText(pic);
+			sleep(1);
+			filePickerOpen.click();
+			sleep(5);
+			typeKeys("<esc>");
+			sleep(2);
+			saveAndReopenNewSW(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	
+	@Test
+	public void saveNewSWWithBullet() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			writer.typeKeys("The first");
+			writer.typeKeys("<enter>");
+			sleep(3);
+			writer.typeKeys("The second");
+			app.dispatch(".uno:SelectAll");
+			writer.menuItem("Format->Bullets and Numbering...").select();
+			sleep(3);
+			bulletPage.ok();
+			writer.typeKeys("<ctrl z");
+			sleep(1);
+			writer.typeKeys("<ctrl y>");
+			sleep(1);
+			writer.typeKeys("<ctrl end>");
+			writer.typeKeys("<enter>");
+			sleep(2);
+			
+			writer.focus();
+			saveAndReopenNewSW(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void saveNewSWWithUnDoDelete()throws Exception{
+		if(!sdDrawingToolbar.exists()){
+			app.dispatch(".uno:AvailableToolbars?Toolbar:string=toolbar");
+		}
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			app.dispatch(".uno:Ellipse");
+			writer.focus();
+			writer.drag(200, 200, 300, 300);
+			typeKeys("<Delete>");
+			typeKeys("<ctrl z>");
+			typeKeys("<ctrl y>");
+
+			saveAndReopenNewSW(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	
+	@Test
+	public void saveNewSWWithSpellCheck() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			writer.typeKeys("goood");
+			sleep(2);
+			writer.menuItem("Tools->Spelling and Grammar...").select();
+			sleep(2);
+			spellcheckDlgSuggestionList.select(0);
+			spellcheckDlgIgnoreOnce.click();
+			activeMsgBox.ok();
+			sleep(2);
+			saveAndReopenNewSW(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void saveNewSWWithHeaderFooter() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			writer.menuItem("Insert->Header->Default").select();
+			sleep(2);
+			writer.typeKeys("Header");
+			sleep(2);
+			writer.menuItem("Insert->Footer->Default").select();
+			sleep(2);
+			writer.typeKeys("Footer");
+			sleep(2);
+			writer.typeKeys("<ctrl end>");
+			sleep(2);
+			writer.typeKeys("<enter>");
+			sleep(2);
+			saveAndReopenNewSW(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void saveNewSWWithFrameAnchor() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			writer.menuItem("Insert->Frame...").select();
+			sleep(2);
+			writerFrameDlg.ok();
+			writer.menuItem("Format->Anchor->To Page").select();
+			sleep(2);
+			writer.menuItem("Format->Anchor->To Paragraph").select();
+			sleep(2);
+			writer.menuItem("Format->Anchor->To Character").select();
+			sleep(2);
+			writer.menuItem("Format->Anchor->As Character").select();
+			sleep(2);
+			writer.typeKeys("<esc>");
+			sleep(2);
+			writer.typeKeys("<enter>");
+			sleep(2);
+			saveAndReopenNewSW(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void saveNewSWWithSDAsOLE()throws Exception{
+		String linkFile = prepareData("pvt/plain_200p.odp");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			app.dispatch(".uno:InsertObject");
+			sleep(2);
+			insertObject.waitForExistence(60, 2);
+			objectFromFile.check();
+			objectFilePath.setText(linkFile);
+			objectFileLink.check();
+			insertObject.ok();
+			sleep(10);
+			
+			writer.focus();
+			writer.doubleClick(200, 300);
+			sleep(15);
+			writer.activate();
+			writer.click(10, 10);
+			sleep(5);
+			
+			saveAndReopenNewSW(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void saveNewSWWithTOC() throws Exception {
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			for (int j = 0; j < 6; j++) {
+				writer.typeKeys(String.valueOf(j + 1));
+				writer.typeKeys("<enter>");
+			}
+			writer.typeKeys("<ctrl home>");
+			for (int k = 0; k < 2; k++) {
+				writer.typeKeys("<shift down>");
+			}
+			if (!styleAndFormattingDlg.exists()) {
+				app.dispatch(".uno:DesignerDialog");
+				sleep(2);
+			}
+
+			styleAndFormattingList.doubleClick(0.5, 0.25);
+			sleep(2);
+			writer.typeKeys("<down>");
+			writer.typeKeys("<right>");
+			writer.typeKeys("<left>");
+			for (int k = 0; k < 2; k++) {
+				writer.typeKeys("<shift down>");
+			}
+			styleAndFormattingList.doubleClick(0.5, 0.3);
+			sleep(2);
+			writer.typeKeys("<ctrl home>");
+			sleep(2);
+			writer.menuItem("Insert->Indexes and Tables->Indexes and Tables...").select();
+			sleep(2);
+			insertIndexDlg.ok();
+			sleep(2);
+			writer.typeKeys("<ctrl end>");
+			saveAndReopenNewSW(i);
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void splitMergeTableOnOpenedSW() throws Exception {
+		String file = prepareData("svt/swdesign.odt");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			writer.waitForExistence(10, 2);
+			writer.typeKeys("<down>");
+			writer.typeKeys("<down>");
+			sleep(2);
+
+			writer.menuItem("Table->Split Cells").select();
+			sleep(2);
+			writerSplitCellDlg.ok();
+			sleep(2);
+
+			writer.typeKeys("<shift down>");
+			writer.typeKeys("<shift down>");
+			writer.typeKeys("<shift down>");
+			writer.typeKeys("<shift down>");
+			writer.typeKeys("<shift down>");
+			sleep(2);
+			writer.menuItem("Table->Merge Cells").select();
+			sleep(2);
+
+			writer.typeKeys("<enter>");
+			closeWithoutSaveSW();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void addDelColumnsRowsInTableOnOpenedSW() throws Exception {
+		String file = prepareData("svt/swdesign.odt");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			writer.waitForExistence(10, 2);
+			writer.typeKeys("<down>");
+			writer.typeKeys("<down>");
+			sleep(2);
+
+			app.dispatch(".uno:InsertRowDialog");
+			writerInsertRowsDlg.ok();
+			sleep(2);
+
+			writer.menuItem("Table->Delete->Rows").select();
+			sleep(2);
+
+			app.dispatch(".uno:InsertColumnDialog");
+			writerInsertColumnsDlg.ok();
+			sleep(2);
+
+			writer.menuItem("Table->Delete->Columns").select();
+			sleep(2);
+			
+			closeWithoutSaveSW();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void setParaPropertoesOnOpenedSW() throws Exception {
+		String file = prepareData("pvt/plain_200p.odt");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			writer.waitForExistence(10, 2);
+			writer.focus();
+			app.dispatch(".uno:ParagraphDialog");
+			alignPage.select();
+			alignPageRight.check();
+			sleep(2);
+			alignPageVerticalAlign.select("Bottom");
+			sleep(2);
+			alignPage.ok();
+			sleep(2);
+			writer.typeKeys("<ctrl end>");
+			sleep(5);
+			
+			closeWithoutSaveSW();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void InsertPicToOpenedSW() throws Exception {
+		String file = prepareData("pvt/plain_200p.odt");
+		String pic = prepareData("image/blue_256x256.jpg");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			writer.waitForExistence(10, 2);
+			writer.focus();
+			writer.menuItem("Insert->Picture->From File...").select();
+			sleep(2);
+			filePickerPath.setText(pic);
+			sleep(1);
+			filePickerOpen.click();
+			sleep(5);
+			writer.typeKeys("<esc>");
+			sleep(2);			
+			closeWithoutSaveSW();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void InsertOLEToOpenedSW() throws Exception {
+		String file = prepareData("pvt/plain_200p.odt");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			writer.waitForExistence(10, 2);
+			writer.focus();
+			app.dispatch(".uno:InsertObject");
+			sleep(2);
+			insertObject.ok();
+			sleep(10);
+			typeKeys("<esc>");
+			sleep(5);
+			typeKeys("<esc>");
+			sleep(5);		
+			closeWithoutSaveSW();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void InsertChartToOpenedSW() throws Exception {
+		String file = prepareData("pvt/plain_200p.odt");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			writer.waitForExistence(10, 2);
+			writer.focus();
+			writer.menuItem("Insert->Object->Chart...").select();
+			sleep(5);
+			typeKeys("<esc>");
+			sleep(5);
+			typeKeys("<esc>");
+			sleep(5);
+			typeKeys("<esc>");
+			sleep(5);
+			closeWithoutSaveSW();
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	@Test
+	public void openSWWithXForm()throws Exception{
+		String file = prepareData("svt/sickness_self-certification_meory issue.odt");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			writer.waitForExistence(10, 2);
+			app.dispatch(".uno:CloseDoc");
+			
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void openSWWithSecuritySignature()throws Exception{
+		String file = prepareData("svt/howtouse.odt");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			app.dispatch(".uno:Open");
+			submitOpenDlg(file);
+			writer.waitForExistence(10, 2);
+			app.dispatch(".uno:CloseDoc");
+			
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	
+	private void createNewSW() {
+		app.dispatch("private:factory/swriter");
+	}
+	
+	private void saveAndReopenNewSW(int iterator) {
+		String saveTo = getPath("temp/" + "tempSW_New" + iterator + ".odt");
+		writer.menuItem("File->Save As...").select();
+		FileUtil.deleteFile(saveTo);
+		submitSaveDlg(saveTo);
+		if (activeMsgBox.exists()) {
+			activeMsgBox.yes();
+			sleep(2);
+		}
+		app.dispatch(".uno:CloseDoc");	
+		startCenterOpenButton.waitForExistence(30, 2);
+		startCenterOpenButton.click();
+		submitOpenDlg(saveTo);
+		sleep(1);		
+		app.dispatch(".uno:CloseDoc");
+	}
+
+	private void closeWithoutSaveSW() {
+		writer.menuItem("File->Close").select();
+		if (activeMsgBox.exists()) {
+			activeMsgBox.no();
+			sleep(2);
+		}
+	}
+
+	private HashMap<String, Object> getPerfData() {
+		HashMap<String, Object> proccessInfo = SystemUtil
+				.findProcess(".*(soffice\\.bin|soffice\\.exe|soffice).*");
+		String pid = (String) proccessInfo.get("pid");
+		return SystemUtil.getProcessPerfData(pid);
+	}
+
+	private void addRecord(int i, long start, long end) {
+		HashMap<String, Object> perf = getPerfData();
+		xmlResult.addRow("BasicFuncOnWriter",testname.getMethodName(), i, (end - start),
+				perf.get("rss"), perf.get("pcpu"));
+	}
+	
+}

Added: incubator/ooo/trunk/test/testgui/source/svt/gui/sw/FileTypeAboutWriter.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/source/svt/gui/sw/FileTypeAboutWriter.java?rev=1396930&view=auto
==============================================================================
--- incubator/ooo/trunk/test/testgui/source/svt/gui/sw/FileTypeAboutWriter.java (added)
+++ incubator/ooo/trunk/test/testgui/source/svt/gui/sw/FileTypeAboutWriter.java Thu Oct 11 07:03:08 2012
@@ -0,0 +1,199 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+/**
+ * 
+ */
+package svt.gui.sw;
+
+import static org.openoffice.test.common.Testspace.getFile;
+import static org.openoffice.test.common.Testspace.getPath;
+import static org.openoffice.test.common.Testspace.prepareData;
+import static org.openoffice.test.vcl.Tester.*;
+import static testlib.gui.AppTool.*;
+import static testlib.gui.UIMap.*;
+
+import java.io.FileOutputStream;
+import java.io.PrintStream;
+import java.util.HashMap;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
+import org.openoffice.test.common.DataSheet;
+import org.openoffice.test.common.FileUtil;
+import org.openoffice.test.common.Logger;
+import org.openoffice.test.common.SystemUtil;
+import org.openoffice.test.common.Testspace;
+
+public class FileTypeAboutWriter {
+	@Rule
+	public Logger log = Logger.getLogger(this);
+
+	@Rule
+	public TestName testname = new TestName();
+
+	private static DataSheet xmlResult;
+
+	private String pid = null;
+
+	private static int iterator = 100;
+
+	private int i = 0;
+
+
+	/**
+	 * @throws java.lang.Exception
+	 */
+	@BeforeClass
+	public static void beforeClass() throws Exception {
+
+		xmlResult = new DataSheet(getFile("output/svt_gui_type_sw.xml"));
+		xmlResult.addRow("FileTypeAboutWriter","Method", "Iterator", "Consumed Time(MS)",
+				"Memory(KB)", "CPU(%)");
+	}
+
+	@AfterClass
+	public static void afterClass() throws Exception {
+		app.stop();
+	}
+	
+	@Before
+	public void before()throws Exception{
+		app.start(true);
+	}
+
+	
+	@Test
+	public void saveNewSWWithShapeToHTML()throws Exception{
+		for ( i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			if(!swDrawingToolbar.exists()){
+				app.dispatch(".uno:AvailableToolbars?Toolbar:string=drawbar");
+			}
+			sleep(2);
+			app.dispatch(".uno:Rect");
+			writer.focus();
+			writer.drag(200, 200, 300, 300);
+			sleep(2);
+
+			typeKeys("<esc>");
+			sleep(2);
+			saveToOther(i,".html");
+			//reopen
+			String saveTo = getPath("temp/" + "tempDOC" + i + ".html");
+			startCenterOpenButton.click();
+			submitOpenDlg(saveTo);
+			sleep(1);
+			app.dispatch(".uno:CloseDoc");	
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+    public void saveNewSWWithLineToDoc()throws Exception{
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			if(!swDrawingToolbar.exists()){
+				app.dispatch(".uno:AvailableToolbars?Toolbar:string=drawbar");
+			}
+			sleep(2);
+			swInsertLineButtonOnToolbar.click();
+			writer.focus();
+			for(int j=0;j<10;j++){
+			writer.drag(150+j, 150+j*10, 200+j, 200+j*10);
+			sleep(2);
+			}
+			typeKeys("<esc>");
+			sleep(2);
+			saveToOther(i,".doc");
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+	
+	@Test
+	public void saveNewSWWithPicToDoc() throws Exception {
+		String pic = prepareData("image/blue_256x256.jpg");
+		for (i = 1; i <= iterator; i++) {
+			long start = System.currentTimeMillis();
+			createNewSW();
+			writer.menuItem("Insert->Picture->From File...").select();
+			sleep(2);
+			filePickerPath.setText(pic);
+			sleep(1);
+			filePickerOpen.click();
+			sleep(3);
+			typeKeys("<esc>");
+			sleep(2);
+			saveToOther(i,".doc");
+			long end = System.currentTimeMillis();
+			addRecord(i, start, end);
+		}
+	}
+
+	private void createNewSW() {
+		app.dispatch("private:factory/swriter");
+	}
+
+	private void saveToOther(int iterator, String type){
+		String saveTo = getPath("temp/" + "tempDOC" + iterator + type);
+		writer.menuItem("File->Save As...").select();
+		FileUtil.deleteFile(saveTo);
+		submitSaveDlg(saveTo);
+		if (activeMsgBox.exists()) {
+			activeMsgBox.yes();
+			sleep(2);
+		}		
+		if (alienFormatDlg.exists(3))
+			alienFormatDlg.ok();
+		app.dispatch(".uno:CloseDoc");	
+		startCenterOpenButton.waitForExistence(30, 2);
+		startCenterOpenButton.click();
+		submitOpenDlg(saveTo);
+		sleep(2);		
+		app.dispatch(".uno:CloseDoc");
+	}
+	
+
+
+	private HashMap<String, Object> getPerfData() {
+		HashMap<String, Object> proccessInfo = SystemUtil
+				.findProcess(".*(soffice\\.bin|soffice\\.exe|soffice).*");
+		String pid = (String) proccessInfo.get("pid");
+		return SystemUtil.getProcessPerfData(pid);
+	}
+
+	private void addRecord(int i, long start, long end) {
+		HashMap<String, Object> perf = getPerfData();
+		xmlResult.addRow("FileTypeAboutWriter",testname.getMethodName(), i, (end - start),
+				perf.get("rss"), perf.get("pcpu"));
+	}
+	
+}

Modified: incubator/ooo/trunk/test/testgui/source/testlib/gui/UIMap.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testgui/source/testlib/gui/UIMap.java?rev=1396930&r1=1396929&r2=1396930&view=diff
==============================================================================
--- incubator/ooo/trunk/test/testgui/source/testlib/gui/UIMap.java (original)
+++ incubator/ooo/trunk/test/testgui/source/testlib/gui/UIMap.java Thu Oct 11 07:03:08 2012
@@ -538,6 +538,27 @@ public class UIMap {
 	public static final VclDialog runMacroDlg = dialog("CUI_HID_SELECTOR_DIALOG");
 	public static final VclTreeListBox runMacroDlgCategories = tree("CUI_HID_SELECTOR_CATEGORIES");
 	public static final VclTreeListBox runMacroDlgCommands = tree("CUI_HID_SELECTOR_COMMANDS");
+	public static final VclButton optionUseOOdialog = button("cui:CheckBox:OFA_TP_MISC:CB_FILEDLG");
 	
 	public static final VclButton standardBarSave = button(".uno:Save");
+
+	public static final VclControl swFormatParagragh = control("CUI_HID_FORMAT_PARAGRAPH_STD");
+
+	public static final VclButton sdAddAnimation = button("SD_HID_SD_CUSTOMANIMATIONPANE_PB_ADD_EFFECT");
+
+	public static final VclListBox sdEntranceAnimationTab = listbox("sd:ListBox:RID_TP_CUSTOMANIMATION_ENTRANCE:LB_EFFECTS");
+
+	public static final VclControl sdAnimationList = control("SD_HID_SD_CUSTOMANIMATIONPANE_CT_CUSTOM_ANIMATION_LIST");
+
+	public static final VclWindow sdCurrentMastersList = window("SD_HID_SD_CURRENT_MASTERS");
+
+	public static final VclButton swInsertLineButtonOnToolbar = button(".uno:Line");
+
+	public static final VclToolBox swDrawingToolbar = toolbox(".HelpId:drawbar");
+
+	public static final VclListBox scPrintAreaType = listbox("sc:ListBox:RID_SCDLG_AREAS:LB_PRINTAREA");
+
+	public static final VclEditBox scPrintArea = editbox("sc:Edit:RID_SCDLG_AREAS:ED_PRINTAREA");
+
+	public static final VclEditBox scFormatCode = editbox("cui:Edit:RID_SVXPAGE_NUMBERFORMAT:ED_FORMAT");
 }