1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski /** 23*b1cdbd2cSJim Jagielski * 24*b1cdbd2cSJim Jagielski */ 25*b1cdbd2cSJim Jagielski package svt.gui.sw; 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski import static org.openoffice.test.common.Testspace.getFile; 28*b1cdbd2cSJim Jagielski import static org.openoffice.test.common.Testspace.getPath; 29*b1cdbd2cSJim Jagielski import static org.openoffice.test.common.Testspace.prepareData; 30*b1cdbd2cSJim Jagielski import static org.openoffice.test.vcl.Tester.*; 31*b1cdbd2cSJim Jagielski import static testlib.gui.AppTool.*; 32*b1cdbd2cSJim Jagielski import static testlib.gui.UIMap.*; 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski import java.io.FileOutputStream; 35*b1cdbd2cSJim Jagielski import java.io.PrintStream; 36*b1cdbd2cSJim Jagielski import java.util.HashMap; 37*b1cdbd2cSJim Jagielski import java.util.logging.Level; 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski import org.junit.After; 40*b1cdbd2cSJim Jagielski import org.junit.AfterClass; 41*b1cdbd2cSJim Jagielski import org.junit.Before; 42*b1cdbd2cSJim Jagielski import org.junit.BeforeClass; 43*b1cdbd2cSJim Jagielski import org.junit.Ignore; 44*b1cdbd2cSJim Jagielski import org.junit.Rule; 45*b1cdbd2cSJim Jagielski import org.junit.Test; 46*b1cdbd2cSJim Jagielski import org.junit.rules.TestName; 47*b1cdbd2cSJim Jagielski import org.openoffice.test.common.DataSheet; 48*b1cdbd2cSJim Jagielski import org.openoffice.test.common.FileUtil; 49*b1cdbd2cSJim Jagielski import org.openoffice.test.common.Logger; 50*b1cdbd2cSJim Jagielski import org.openoffice.test.common.SystemUtil; 51*b1cdbd2cSJim Jagielski import org.openoffice.test.common.Testspace; 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski public class BasicFuncOnWriter { 54*b1cdbd2cSJim Jagielski @Rule 55*b1cdbd2cSJim Jagielski public Logger log = Logger.getLogger(this); 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielski @Rule 58*b1cdbd2cSJim Jagielski public TestName testname = new TestName(); 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim Jagielski private static DataSheet xmlResult; 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski private String pid = null; 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski private static int iterator = 100; 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski private int i = 0; 67*b1cdbd2cSJim Jagielski 68*b1cdbd2cSJim Jagielski /** 69*b1cdbd2cSJim Jagielski * @throws java.lang.Exception 70*b1cdbd2cSJim Jagielski */ 71*b1cdbd2cSJim Jagielski @BeforeClass beforeClass()72*b1cdbd2cSJim Jagielski public static void beforeClass() throws Exception { 73*b1cdbd2cSJim Jagielski xmlResult = new DataSheet(getFile("output/svt_writer.xml")); 74*b1cdbd2cSJim Jagielski xmlResult.addRow("Data", "Method", "No", "Consumed Time(MS)", "Memory(VSZ)", "Memory(RSS)", "Handles(Windows Only)"); 75*b1cdbd2cSJim Jagielski } 76*b1cdbd2cSJim Jagielski 77*b1cdbd2cSJim Jagielski @AfterClass afterClass()78*b1cdbd2cSJim Jagielski public static void afterClass() throws Exception { 79*b1cdbd2cSJim Jagielski app.stop(); 80*b1cdbd2cSJim Jagielski } 81*b1cdbd2cSJim Jagielski 82*b1cdbd2cSJim Jagielski @Before before()83*b1cdbd2cSJim Jagielski public void before()throws Exception{ 84*b1cdbd2cSJim Jagielski app.start(true); 85*b1cdbd2cSJim Jagielski } 86*b1cdbd2cSJim Jagielski 87*b1cdbd2cSJim Jagielski @Test saveNewSWWithPic()88*b1cdbd2cSJim Jagielski public void saveNewSWWithPic() throws Exception { 89*b1cdbd2cSJim Jagielski String pic = prepareData("image/blue_256x256.jpg"); 90*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 91*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 92*b1cdbd2cSJim Jagielski createNewSW(); 93*b1cdbd2cSJim Jagielski writer.menuItem("Insert->Picture->From File...").select(); 94*b1cdbd2cSJim Jagielski sleep(2); 95*b1cdbd2cSJim Jagielski filePickerPath.setText(pic); 96*b1cdbd2cSJim Jagielski sleep(1); 97*b1cdbd2cSJim Jagielski filePickerOpen.click(); 98*b1cdbd2cSJim Jagielski sleep(5); 99*b1cdbd2cSJim Jagielski typeKeys("<esc>"); 100*b1cdbd2cSJim Jagielski sleep(2); 101*b1cdbd2cSJim Jagielski saveAndReopenNewSW(i); 102*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 103*b1cdbd2cSJim Jagielski addRecord(i, start, end); 104*b1cdbd2cSJim Jagielski } 105*b1cdbd2cSJim Jagielski } 106*b1cdbd2cSJim Jagielski 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski @Test saveNewSWWithBullet()109*b1cdbd2cSJim Jagielski public void saveNewSWWithBullet() throws Exception { 110*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 111*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 112*b1cdbd2cSJim Jagielski createNewSW(); 113*b1cdbd2cSJim Jagielski writer.typeKeys("The first"); 114*b1cdbd2cSJim Jagielski writer.typeKeys("<enter>"); 115*b1cdbd2cSJim Jagielski sleep(3); 116*b1cdbd2cSJim Jagielski writer.typeKeys("The second"); 117*b1cdbd2cSJim Jagielski app.dispatch(".uno:SelectAll"); 118*b1cdbd2cSJim Jagielski writer.menuItem("Format->Bullets and Numbering...").select(); 119*b1cdbd2cSJim Jagielski sleep(3); 120*b1cdbd2cSJim Jagielski bulletPage.ok(); 121*b1cdbd2cSJim Jagielski writer.typeKeys("<ctrl z"); 122*b1cdbd2cSJim Jagielski sleep(1); 123*b1cdbd2cSJim Jagielski writer.typeKeys("<ctrl y>"); 124*b1cdbd2cSJim Jagielski sleep(1); 125*b1cdbd2cSJim Jagielski writer.typeKeys("<ctrl end>"); 126*b1cdbd2cSJim Jagielski writer.typeKeys("<enter>"); 127*b1cdbd2cSJim Jagielski sleep(2); 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim Jagielski writer.focus(); 130*b1cdbd2cSJim Jagielski saveAndReopenNewSW(i); 131*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 132*b1cdbd2cSJim Jagielski addRecord(i, start, end); 133*b1cdbd2cSJim Jagielski } 134*b1cdbd2cSJim Jagielski } 135*b1cdbd2cSJim Jagielski 136*b1cdbd2cSJim Jagielski @Test saveNewSWWithUnDoDelete()137*b1cdbd2cSJim Jagielski public void saveNewSWWithUnDoDelete()throws Exception{ 138*b1cdbd2cSJim Jagielski if(!sdDrawingToolbar.exists()){ 139*b1cdbd2cSJim Jagielski app.dispatch(".uno:AvailableToolbars?Toolbar:string=toolbar"); 140*b1cdbd2cSJim Jagielski } 141*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 142*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 143*b1cdbd2cSJim Jagielski createNewSW(); 144*b1cdbd2cSJim Jagielski app.dispatch(".uno:Ellipse"); 145*b1cdbd2cSJim Jagielski writer.focus(); 146*b1cdbd2cSJim Jagielski writer.drag(200, 200, 300, 300); 147*b1cdbd2cSJim Jagielski typeKeys("<Delete>"); 148*b1cdbd2cSJim Jagielski typeKeys("<ctrl z>"); 149*b1cdbd2cSJim Jagielski typeKeys("<ctrl y>"); 150*b1cdbd2cSJim Jagielski 151*b1cdbd2cSJim Jagielski saveAndReopenNewSW(i); 152*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 153*b1cdbd2cSJim Jagielski addRecord(i, start, end); 154*b1cdbd2cSJim Jagielski } 155*b1cdbd2cSJim Jagielski } 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski 158*b1cdbd2cSJim Jagielski @Test saveNewSWWithSpellCheck()159*b1cdbd2cSJim Jagielski public void saveNewSWWithSpellCheck() throws Exception { 160*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 161*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 162*b1cdbd2cSJim Jagielski createNewSW(); 163*b1cdbd2cSJim Jagielski writer.typeKeys("goood"); 164*b1cdbd2cSJim Jagielski sleep(2); 165*b1cdbd2cSJim Jagielski writer.menuItem("Tools->Spelling and Grammar...").select(); 166*b1cdbd2cSJim Jagielski sleep(2); 167*b1cdbd2cSJim Jagielski spellcheckDlgSuggestionList.select(0); 168*b1cdbd2cSJim Jagielski spellcheckDlgIgnoreOnce.click(); 169*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 170*b1cdbd2cSJim Jagielski sleep(2); 171*b1cdbd2cSJim Jagielski saveAndReopenNewSW(i); 172*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 173*b1cdbd2cSJim Jagielski addRecord(i, start, end); 174*b1cdbd2cSJim Jagielski } 175*b1cdbd2cSJim Jagielski } 176*b1cdbd2cSJim Jagielski 177*b1cdbd2cSJim Jagielski @Test saveNewSWWithHeaderFooter()178*b1cdbd2cSJim Jagielski public void saveNewSWWithHeaderFooter() throws Exception { 179*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 180*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 181*b1cdbd2cSJim Jagielski createNewSW(); 182*b1cdbd2cSJim Jagielski writer.menuItem("Insert->Header->Default").select(); 183*b1cdbd2cSJim Jagielski sleep(2); 184*b1cdbd2cSJim Jagielski writer.typeKeys("Header"); 185*b1cdbd2cSJim Jagielski sleep(2); 186*b1cdbd2cSJim Jagielski writer.menuItem("Insert->Footer->Default").select(); 187*b1cdbd2cSJim Jagielski sleep(2); 188*b1cdbd2cSJim Jagielski writer.typeKeys("Footer"); 189*b1cdbd2cSJim Jagielski sleep(2); 190*b1cdbd2cSJim Jagielski writer.typeKeys("<ctrl end>"); 191*b1cdbd2cSJim Jagielski sleep(2); 192*b1cdbd2cSJim Jagielski writer.typeKeys("<enter>"); 193*b1cdbd2cSJim Jagielski sleep(2); 194*b1cdbd2cSJim Jagielski saveAndReopenNewSW(i); 195*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 196*b1cdbd2cSJim Jagielski addRecord(i, start, end); 197*b1cdbd2cSJim Jagielski } 198*b1cdbd2cSJim Jagielski } 199*b1cdbd2cSJim Jagielski 200*b1cdbd2cSJim Jagielski @Test saveNewSWWithFrameAnchor()201*b1cdbd2cSJim Jagielski public void saveNewSWWithFrameAnchor() throws Exception { 202*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 203*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 204*b1cdbd2cSJim Jagielski createNewSW(); 205*b1cdbd2cSJim Jagielski writer.menuItem("Insert->Frame...").select(); 206*b1cdbd2cSJim Jagielski sleep(2); 207*b1cdbd2cSJim Jagielski writerFrameDlg.ok(); 208*b1cdbd2cSJim Jagielski writer.menuItem("Format->Anchor->To Page").select(); 209*b1cdbd2cSJim Jagielski sleep(2); 210*b1cdbd2cSJim Jagielski writer.menuItem("Format->Anchor->To Paragraph").select(); 211*b1cdbd2cSJim Jagielski sleep(2); 212*b1cdbd2cSJim Jagielski writer.menuItem("Format->Anchor->To Character").select(); 213*b1cdbd2cSJim Jagielski sleep(2); 214*b1cdbd2cSJim Jagielski writer.menuItem("Format->Anchor->As Character").select(); 215*b1cdbd2cSJim Jagielski sleep(2); 216*b1cdbd2cSJim Jagielski writer.typeKeys("<esc>"); 217*b1cdbd2cSJim Jagielski sleep(2); 218*b1cdbd2cSJim Jagielski writer.typeKeys("<enter>"); 219*b1cdbd2cSJim Jagielski sleep(2); 220*b1cdbd2cSJim Jagielski saveAndReopenNewSW(i); 221*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 222*b1cdbd2cSJim Jagielski addRecord(i, start, end); 223*b1cdbd2cSJim Jagielski } 224*b1cdbd2cSJim Jagielski } 225*b1cdbd2cSJim Jagielski 226*b1cdbd2cSJim Jagielski @Test saveNewSWWithSDAsOLE()227*b1cdbd2cSJim Jagielski public void saveNewSWWithSDAsOLE()throws Exception{ 228*b1cdbd2cSJim Jagielski String linkFile = prepareData("pvt/plain_200p.odp"); 229*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 230*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 231*b1cdbd2cSJim Jagielski createNewSW(); 232*b1cdbd2cSJim Jagielski app.dispatch(".uno:InsertObject"); 233*b1cdbd2cSJim Jagielski sleep(2); 234*b1cdbd2cSJim Jagielski insertObject.waitForExistence(60, 2); 235*b1cdbd2cSJim Jagielski objectFromFile.check(); 236*b1cdbd2cSJim Jagielski objectFilePath.setText(linkFile); 237*b1cdbd2cSJim Jagielski objectFileLink.check(); 238*b1cdbd2cSJim Jagielski insertObject.ok(); 239*b1cdbd2cSJim Jagielski sleep(10); 240*b1cdbd2cSJim Jagielski 241*b1cdbd2cSJim Jagielski writer.focus(); 242*b1cdbd2cSJim Jagielski writer.doubleClick(200, 300); 243*b1cdbd2cSJim Jagielski sleep(15); 244*b1cdbd2cSJim Jagielski writer.activate(); 245*b1cdbd2cSJim Jagielski writer.click(10, 10); 246*b1cdbd2cSJim Jagielski sleep(5); 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski saveAndReopenNewSW(i); 249*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 250*b1cdbd2cSJim Jagielski addRecord(i, start, end); 251*b1cdbd2cSJim Jagielski } 252*b1cdbd2cSJim Jagielski } 253*b1cdbd2cSJim Jagielski 254*b1cdbd2cSJim Jagielski @Test saveNewSWWithTOC()255*b1cdbd2cSJim Jagielski public void saveNewSWWithTOC() throws Exception { 256*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 257*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 258*b1cdbd2cSJim Jagielski createNewSW(); 259*b1cdbd2cSJim Jagielski for (int j = 0; j < 6; j++) { 260*b1cdbd2cSJim Jagielski writer.typeKeys(String.valueOf(j + 1)); 261*b1cdbd2cSJim Jagielski writer.typeKeys("<enter>"); 262*b1cdbd2cSJim Jagielski } 263*b1cdbd2cSJim Jagielski writer.typeKeys("<ctrl home>"); 264*b1cdbd2cSJim Jagielski for (int k = 0; k < 2; k++) { 265*b1cdbd2cSJim Jagielski writer.typeKeys("<shift down>"); 266*b1cdbd2cSJim Jagielski } 267*b1cdbd2cSJim Jagielski if (!styleAndFormattingDlg.exists()) { 268*b1cdbd2cSJim Jagielski app.dispatch(".uno:DesignerDialog"); 269*b1cdbd2cSJim Jagielski sleep(2); 270*b1cdbd2cSJim Jagielski } 271*b1cdbd2cSJim Jagielski 272*b1cdbd2cSJim Jagielski styleAndFormattingList.doubleClick(0.5, 0.25); 273*b1cdbd2cSJim Jagielski sleep(2); 274*b1cdbd2cSJim Jagielski writer.typeKeys("<down>"); 275*b1cdbd2cSJim Jagielski writer.typeKeys("<right>"); 276*b1cdbd2cSJim Jagielski writer.typeKeys("<left>"); 277*b1cdbd2cSJim Jagielski for (int k = 0; k < 2; k++) { 278*b1cdbd2cSJim Jagielski writer.typeKeys("<shift down>"); 279*b1cdbd2cSJim Jagielski } 280*b1cdbd2cSJim Jagielski styleAndFormattingList.doubleClick(0.5, 0.3); 281*b1cdbd2cSJim Jagielski sleep(2); 282*b1cdbd2cSJim Jagielski writer.typeKeys("<ctrl home>"); 283*b1cdbd2cSJim Jagielski sleep(2); 284*b1cdbd2cSJim Jagielski writer.menuItem("Insert->Indexes and Tables->Indexes and Tables...").select(); 285*b1cdbd2cSJim Jagielski sleep(2); 286*b1cdbd2cSJim Jagielski insertIndexDlg.ok(); 287*b1cdbd2cSJim Jagielski sleep(2); 288*b1cdbd2cSJim Jagielski writer.typeKeys("<ctrl end>"); 289*b1cdbd2cSJim Jagielski saveAndReopenNewSW(i); 290*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 291*b1cdbd2cSJim Jagielski addRecord(i, start, end); 292*b1cdbd2cSJim Jagielski } 293*b1cdbd2cSJim Jagielski } 294*b1cdbd2cSJim Jagielski 295*b1cdbd2cSJim Jagielski @Test splitMergeTableOnOpenedSW()296*b1cdbd2cSJim Jagielski public void splitMergeTableOnOpenedSW() throws Exception { 297*b1cdbd2cSJim Jagielski String file = prepareData("svt/swdesign.odt"); 298*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 299*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 300*b1cdbd2cSJim Jagielski app.dispatch(".uno:Open"); 301*b1cdbd2cSJim Jagielski submitOpenDlg(file); 302*b1cdbd2cSJim Jagielski writer.waitForExistence(10, 2); 303*b1cdbd2cSJim Jagielski writer.typeKeys("<down>"); 304*b1cdbd2cSJim Jagielski writer.typeKeys("<down>"); 305*b1cdbd2cSJim Jagielski sleep(2); 306*b1cdbd2cSJim Jagielski 307*b1cdbd2cSJim Jagielski writer.menuItem("Table->Split Cells").select(); 308*b1cdbd2cSJim Jagielski sleep(2); 309*b1cdbd2cSJim Jagielski writerSplitCellDlg.ok(); 310*b1cdbd2cSJim Jagielski sleep(2); 311*b1cdbd2cSJim Jagielski 312*b1cdbd2cSJim Jagielski writer.typeKeys("<shift down>"); 313*b1cdbd2cSJim Jagielski writer.typeKeys("<shift down>"); 314*b1cdbd2cSJim Jagielski writer.typeKeys("<shift down>"); 315*b1cdbd2cSJim Jagielski writer.typeKeys("<shift down>"); 316*b1cdbd2cSJim Jagielski writer.typeKeys("<shift down>"); 317*b1cdbd2cSJim Jagielski sleep(2); 318*b1cdbd2cSJim Jagielski writer.menuItem("Table->Merge Cells").select(); 319*b1cdbd2cSJim Jagielski sleep(2); 320*b1cdbd2cSJim Jagielski 321*b1cdbd2cSJim Jagielski writer.typeKeys("<enter>"); 322*b1cdbd2cSJim Jagielski closeWithoutSaveSW(); 323*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 324*b1cdbd2cSJim Jagielski addRecord(i, start, end); 325*b1cdbd2cSJim Jagielski } 326*b1cdbd2cSJim Jagielski } 327*b1cdbd2cSJim Jagielski 328*b1cdbd2cSJim Jagielski @Test addDelColumnsRowsInTableOnOpenedSW()329*b1cdbd2cSJim Jagielski public void addDelColumnsRowsInTableOnOpenedSW() throws Exception { 330*b1cdbd2cSJim Jagielski String file = prepareData("svt/swdesign.odt"); 331*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 332*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 333*b1cdbd2cSJim Jagielski app.dispatch(".uno:Open"); 334*b1cdbd2cSJim Jagielski submitOpenDlg(file); 335*b1cdbd2cSJim Jagielski writer.waitForExistence(10, 2); 336*b1cdbd2cSJim Jagielski writer.typeKeys("<down>"); 337*b1cdbd2cSJim Jagielski writer.typeKeys("<down>"); 338*b1cdbd2cSJim Jagielski sleep(2); 339*b1cdbd2cSJim Jagielski 340*b1cdbd2cSJim Jagielski app.dispatch(".uno:InsertRowDialog"); 341*b1cdbd2cSJim Jagielski writerInsertRowsDlg.ok(); 342*b1cdbd2cSJim Jagielski sleep(2); 343*b1cdbd2cSJim Jagielski 344*b1cdbd2cSJim Jagielski writer.menuItem("Table->Delete->Rows").select(); 345*b1cdbd2cSJim Jagielski sleep(2); 346*b1cdbd2cSJim Jagielski 347*b1cdbd2cSJim Jagielski app.dispatch(".uno:InsertColumnDialog"); 348*b1cdbd2cSJim Jagielski writerInsertColumnsDlg.ok(); 349*b1cdbd2cSJim Jagielski sleep(2); 350*b1cdbd2cSJim Jagielski 351*b1cdbd2cSJim Jagielski writer.menuItem("Table->Delete->Columns").select(); 352*b1cdbd2cSJim Jagielski sleep(2); 353*b1cdbd2cSJim Jagielski 354*b1cdbd2cSJim Jagielski closeWithoutSaveSW(); 355*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 356*b1cdbd2cSJim Jagielski addRecord(i, start, end); 357*b1cdbd2cSJim Jagielski } 358*b1cdbd2cSJim Jagielski } 359*b1cdbd2cSJim Jagielski 360*b1cdbd2cSJim Jagielski @Test setParaPropertoesOnOpenedSW()361*b1cdbd2cSJim Jagielski public void setParaPropertoesOnOpenedSW() throws Exception { 362*b1cdbd2cSJim Jagielski String file = prepareData("pvt/plain_200p.odt"); 363*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 364*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 365*b1cdbd2cSJim Jagielski app.dispatch(".uno:Open"); 366*b1cdbd2cSJim Jagielski submitOpenDlg(file); 367*b1cdbd2cSJim Jagielski writer.waitForExistence(10, 2); 368*b1cdbd2cSJim Jagielski writer.focus(); 369*b1cdbd2cSJim Jagielski app.dispatch(".uno:ParagraphDialog"); 370*b1cdbd2cSJim Jagielski alignPage.select(); 371*b1cdbd2cSJim Jagielski alignPageRight.check(); 372*b1cdbd2cSJim Jagielski sleep(2); 373*b1cdbd2cSJim Jagielski alignPageVerticalAlign.select("Bottom"); 374*b1cdbd2cSJim Jagielski sleep(2); 375*b1cdbd2cSJim Jagielski alignPage.ok(); 376*b1cdbd2cSJim Jagielski sleep(2); 377*b1cdbd2cSJim Jagielski writer.typeKeys("<ctrl end>"); 378*b1cdbd2cSJim Jagielski sleep(5); 379*b1cdbd2cSJim Jagielski 380*b1cdbd2cSJim Jagielski closeWithoutSaveSW(); 381*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 382*b1cdbd2cSJim Jagielski addRecord(i, start, end); 383*b1cdbd2cSJim Jagielski } 384*b1cdbd2cSJim Jagielski } 385*b1cdbd2cSJim Jagielski 386*b1cdbd2cSJim Jagielski @Test InsertPicToOpenedSW()387*b1cdbd2cSJim Jagielski public void InsertPicToOpenedSW() throws Exception { 388*b1cdbd2cSJim Jagielski String file = prepareData("pvt/plain_200p.odt"); 389*b1cdbd2cSJim Jagielski String pic = prepareData("image/blue_256x256.jpg"); 390*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 391*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 392*b1cdbd2cSJim Jagielski app.dispatch(".uno:Open"); 393*b1cdbd2cSJim Jagielski submitOpenDlg(file); 394*b1cdbd2cSJim Jagielski writer.waitForExistence(10, 2); 395*b1cdbd2cSJim Jagielski writer.focus(); 396*b1cdbd2cSJim Jagielski writer.menuItem("Insert->Picture->From File...").select(); 397*b1cdbd2cSJim Jagielski sleep(2); 398*b1cdbd2cSJim Jagielski filePickerPath.setText(pic); 399*b1cdbd2cSJim Jagielski sleep(1); 400*b1cdbd2cSJim Jagielski filePickerOpen.click(); 401*b1cdbd2cSJim Jagielski sleep(5); 402*b1cdbd2cSJim Jagielski writer.typeKeys("<esc>"); 403*b1cdbd2cSJim Jagielski sleep(2); 404*b1cdbd2cSJim Jagielski closeWithoutSaveSW(); 405*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 406*b1cdbd2cSJim Jagielski addRecord(i, start, end); 407*b1cdbd2cSJim Jagielski } 408*b1cdbd2cSJim Jagielski } 409*b1cdbd2cSJim Jagielski 410*b1cdbd2cSJim Jagielski @Test InsertOLEToOpenedSW()411*b1cdbd2cSJim Jagielski public void InsertOLEToOpenedSW() throws Exception { 412*b1cdbd2cSJim Jagielski String file = prepareData("pvt/plain_200p.odt"); 413*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 414*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 415*b1cdbd2cSJim Jagielski app.dispatch(".uno:Open"); 416*b1cdbd2cSJim Jagielski submitOpenDlg(file); 417*b1cdbd2cSJim Jagielski writer.waitForExistence(10, 2); 418*b1cdbd2cSJim Jagielski writer.focus(); 419*b1cdbd2cSJim Jagielski app.dispatch(".uno:InsertObject"); 420*b1cdbd2cSJim Jagielski sleep(2); 421*b1cdbd2cSJim Jagielski insertObject.ok(); 422*b1cdbd2cSJim Jagielski sleep(10); 423*b1cdbd2cSJim Jagielski typeKeys("<esc>"); 424*b1cdbd2cSJim Jagielski sleep(5); 425*b1cdbd2cSJim Jagielski typeKeys("<esc>"); 426*b1cdbd2cSJim Jagielski sleep(5); 427*b1cdbd2cSJim Jagielski closeWithoutSaveSW(); 428*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 429*b1cdbd2cSJim Jagielski addRecord(i, start, end); 430*b1cdbd2cSJim Jagielski } 431*b1cdbd2cSJim Jagielski } 432*b1cdbd2cSJim Jagielski 433*b1cdbd2cSJim Jagielski @Test InsertChartToOpenedSW()434*b1cdbd2cSJim Jagielski public void InsertChartToOpenedSW() throws Exception { 435*b1cdbd2cSJim Jagielski String file = prepareData("pvt/plain_200p.odt"); 436*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 437*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 438*b1cdbd2cSJim Jagielski app.dispatch(".uno:Open"); 439*b1cdbd2cSJim Jagielski submitOpenDlg(file); 440*b1cdbd2cSJim Jagielski writer.waitForExistence(10, 2); 441*b1cdbd2cSJim Jagielski writer.focus(); 442*b1cdbd2cSJim Jagielski app.dispatch(".uno:InsertObjectChart"); 443*b1cdbd2cSJim Jagielski // writer.menuItem("Insert->Object->Chart...").select(); 444*b1cdbd2cSJim Jagielski sleep(5); 445*b1cdbd2cSJim Jagielski typeKeys("<esc>"); 446*b1cdbd2cSJim Jagielski sleep(5); 447*b1cdbd2cSJim Jagielski typeKeys("<esc>"); 448*b1cdbd2cSJim Jagielski sleep(5); 449*b1cdbd2cSJim Jagielski typeKeys("<esc>"); 450*b1cdbd2cSJim Jagielski sleep(5); 451*b1cdbd2cSJim Jagielski closeWithoutSaveSW(); 452*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 453*b1cdbd2cSJim Jagielski addRecord(i, start, end); 454*b1cdbd2cSJim Jagielski } 455*b1cdbd2cSJim Jagielski } 456*b1cdbd2cSJim Jagielski 457*b1cdbd2cSJim Jagielski @Test openSWWithXForm()458*b1cdbd2cSJim Jagielski public void openSWWithXForm()throws Exception{ 459*b1cdbd2cSJim Jagielski String file = prepareData("svt/sickness_self-certification_meory issue.odt"); 460*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 461*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 462*b1cdbd2cSJim Jagielski app.dispatch(".uno:Open"); 463*b1cdbd2cSJim Jagielski submitOpenDlg(file); 464*b1cdbd2cSJim Jagielski writer.waitForExistence(10, 2); 465*b1cdbd2cSJim Jagielski app.dispatch(".uno:CloseDoc"); 466*b1cdbd2cSJim Jagielski 467*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 468*b1cdbd2cSJim Jagielski addRecord(i, start, end); 469*b1cdbd2cSJim Jagielski } 470*b1cdbd2cSJim Jagielski } 471*b1cdbd2cSJim Jagielski 472*b1cdbd2cSJim Jagielski @Test openSWWithSecuritySignature()473*b1cdbd2cSJim Jagielski public void openSWWithSecuritySignature()throws Exception{ 474*b1cdbd2cSJim Jagielski String file = prepareData("svt/howtouse.odt"); 475*b1cdbd2cSJim Jagielski for (i = 1; i <= iterator; i++) { 476*b1cdbd2cSJim Jagielski long start = System.currentTimeMillis(); 477*b1cdbd2cSJim Jagielski app.dispatch(".uno:Open"); 478*b1cdbd2cSJim Jagielski submitOpenDlg(file); 479*b1cdbd2cSJim Jagielski writer.waitForExistence(10, 2); 480*b1cdbd2cSJim Jagielski app.dispatch(".uno:CloseDoc"); 481*b1cdbd2cSJim Jagielski 482*b1cdbd2cSJim Jagielski long end = System.currentTimeMillis(); 483*b1cdbd2cSJim Jagielski addRecord(i, start, end); 484*b1cdbd2cSJim Jagielski } 485*b1cdbd2cSJim Jagielski } 486*b1cdbd2cSJim Jagielski 487*b1cdbd2cSJim Jagielski createNewSW()488*b1cdbd2cSJim Jagielski private void createNewSW() { 489*b1cdbd2cSJim Jagielski app.dispatch("private:factory/swriter"); 490*b1cdbd2cSJim Jagielski } 491*b1cdbd2cSJim Jagielski saveAndReopenNewSW(int iterator)492*b1cdbd2cSJim Jagielski private void saveAndReopenNewSW(int iterator) { 493*b1cdbd2cSJim Jagielski String saveTo = getPath("temp/" + "tempSW_New" + iterator + ".odt"); 494*b1cdbd2cSJim Jagielski writer.menuItem("File->Save As...").select(); 495*b1cdbd2cSJim Jagielski FileUtil.deleteFile(saveTo); 496*b1cdbd2cSJim Jagielski submitSaveDlg(saveTo); 497*b1cdbd2cSJim Jagielski if (activeMsgBox.exists()) { 498*b1cdbd2cSJim Jagielski activeMsgBox.yes(); 499*b1cdbd2cSJim Jagielski sleep(2); 500*b1cdbd2cSJim Jagielski } 501*b1cdbd2cSJim Jagielski app.dispatch(".uno:CloseDoc"); 502*b1cdbd2cSJim Jagielski startCenterOpenButton.waitForExistence(30, 2); 503*b1cdbd2cSJim Jagielski startCenterOpenButton.click(); 504*b1cdbd2cSJim Jagielski submitOpenDlg(saveTo); 505*b1cdbd2cSJim Jagielski sleep(1); 506*b1cdbd2cSJim Jagielski app.dispatch(".uno:CloseDoc"); 507*b1cdbd2cSJim Jagielski } 508*b1cdbd2cSJim Jagielski closeWithoutSaveSW()509*b1cdbd2cSJim Jagielski private void closeWithoutSaveSW() { 510*b1cdbd2cSJim Jagielski writer.menuItem("File->Close").select(); 511*b1cdbd2cSJim Jagielski if (activeMsgBox.exists()) { 512*b1cdbd2cSJim Jagielski activeMsgBox.no(); 513*b1cdbd2cSJim Jagielski sleep(2); 514*b1cdbd2cSJim Jagielski } 515*b1cdbd2cSJim Jagielski } 516*b1cdbd2cSJim Jagielski addRecord(int i, long start, long end)517*b1cdbd2cSJim Jagielski private void addRecord(int i, long start, long end) { 518*b1cdbd2cSJim Jagielski HashMap<String, Object> perf = aoo.getPerfData(); 519*b1cdbd2cSJim Jagielski xmlResult.addRow("Data",testname.getMethodName(), i, (end - start), 520*b1cdbd2cSJim Jagielski perf.get("vsz"), perf.get("rss"), perf.get("handles")); 521*b1cdbd2cSJim Jagielski log.log( Level.INFO, "\t"+testname.getMethodName()+"["+i+"] took "+(end-start)+"ms"); 522*b1cdbd2cSJim Jagielski } 523*b1cdbd2cSJim Jagielski 524*b1cdbd2cSJim Jagielski } 525