1739258c9SLi Feng Wang /************************************************************** 2739258c9SLi Feng Wang * 3739258c9SLi Feng Wang * Licensed to the Apache Software Foundation (ASF) under one 4739258c9SLi Feng Wang * or more contributor license agreements. See the NOTICE file 5739258c9SLi Feng Wang * distributed with this work for additional information 6739258c9SLi Feng Wang * regarding copyright ownership. The ASF licenses this file 7739258c9SLi Feng Wang * to you under the Apache License, Version 2.0 (the 8739258c9SLi Feng Wang * "License"); you may not use this file except in compliance 9739258c9SLi Feng Wang * with the License. You may obtain a copy of the License at 10739258c9SLi Feng Wang * 11739258c9SLi Feng Wang * http://www.apache.org/licenses/LICENSE-2.0 12739258c9SLi Feng Wang * 13739258c9SLi Feng Wang * Unless required by applicable law or agreed to in writing, 14739258c9SLi Feng Wang * software distributed under the License is distributed on an 15739258c9SLi Feng Wang * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16739258c9SLi Feng Wang * KIND, either express or implied. See the License for the 17739258c9SLi Feng Wang * specific language governing permissions and limitations 18739258c9SLi Feng Wang * under the License. 19739258c9SLi Feng Wang * 20739258c9SLi Feng Wang *************************************************************/ 21739258c9SLi Feng Wang 22739258c9SLi Feng Wang /** 23739258c9SLi Feng Wang * 24739258c9SLi Feng Wang */ 25739258c9SLi Feng Wang 26739258c9SLi Feng Wang package svt.gui.sc; 27739258c9SLi Feng Wang 28bc99f727SLiu Zhe import static org.openoffice.test.common.Testspace.getFile; 29bc99f727SLiu Zhe import static org.openoffice.test.common.Testspace.getPath; 30bc99f727SLiu Zhe import static org.openoffice.test.common.Testspace.prepareData; 31bc99f727SLiu Zhe import static org.openoffice.test.vcl.Tester.sleep; 32bc99f727SLiu Zhe import static testlib.gui.AppTool.submitOpenDlg; 33bc99f727SLiu Zhe import static testlib.gui.AppTool.submitSaveDlg; 34bc99f727SLiu Zhe import static testlib.gui.AppTool.typeKeys; 35bc99f727SLiu Zhe import static testlib.gui.UIMap.activeMsgBox; 36bc99f727SLiu Zhe import static testlib.gui.UIMap.aoo; 37bc99f727SLiu Zhe import static testlib.gui.UIMap.app; 38bc99f727SLiu Zhe import static testlib.gui.UIMap.calc; 39bc99f727SLiu Zhe import static testlib.gui.UIMap.chartWizard; 40bc99f727SLiu Zhe import static testlib.gui.UIMap.filePickerOpen; 41bc99f727SLiu Zhe import static testlib.gui.UIMap.filePickerPath; 42bc99f727SLiu Zhe import static testlib.gui.UIMap.filterValue1; 43bc99f727SLiu Zhe import static testlib.gui.UIMap.fontworkGalleryDlg; 44bc99f727SLiu Zhe import static testlib.gui.UIMap.scAfterCurrentSheet; 45bc99f727SLiu Zhe import static testlib.gui.UIMap.scFormatCode; 46bc99f727SLiu Zhe import static testlib.gui.UIMap.scInsertSheetDlg; 47bc99f727SLiu Zhe import static testlib.gui.UIMap.scNewSheetName; 48bc99f727SLiu Zhe import static testlib.gui.UIMap.scPrintArea; 49bc99f727SLiu Zhe import static testlib.gui.UIMap.scPrintAreaType; 50bc99f727SLiu Zhe import static testlib.gui.UIMap.scValidityCriteriaAllowList; 51bc99f727SLiu Zhe import static testlib.gui.UIMap.scValidityCriteriaTabpage; 52bc99f727SLiu Zhe import static testlib.gui.UIMap.scValidityDecimalCompareOperator; 53bc99f727SLiu Zhe import static testlib.gui.UIMap.scValidityErrorAlertTabPage; 54bc99f727SLiu Zhe import static testlib.gui.UIMap.scValidityErrorMessage; 55bc99f727SLiu Zhe import static testlib.gui.UIMap.scValidityErrorMessageTitle; 56bc99f727SLiu Zhe import static testlib.gui.UIMap.scValidityShowErrorMessage; 57bc99f727SLiu Zhe import static testlib.gui.UIMap.scValiditySourceInput; 58bc99f727SLiu Zhe import static testlib.gui.UIMap.sortOptionsPage; 59bc99f727SLiu Zhe import static testlib.gui.UIMap.sortOptionsPageRangeContainsColumnLabels; 60bc99f727SLiu Zhe import static testlib.gui.UIMap.sortPage; 61bc99f727SLiu Zhe import static testlib.gui.UIMap.sortPageAscending1; 62bc99f727SLiu Zhe import static testlib.gui.UIMap.sortPageBy1; 63bc99f727SLiu Zhe import static testlib.gui.UIMap.standardFilterDlg; 64bc99f727SLiu Zhe import static testlib.gui.UIMap.startCenterOpenButton; 65739258c9SLi Feng Wang 66739258c9SLi Feng Wang import java.util.HashMap; 67*122356beSHerbert Dürr import java.util.logging.Level; 68739258c9SLi Feng Wang 69739258c9SLi Feng Wang import org.junit.AfterClass; 70739258c9SLi Feng Wang import org.junit.Before; 71739258c9SLi Feng Wang import org.junit.BeforeClass; 72739258c9SLi Feng Wang import org.junit.Rule; 73739258c9SLi Feng Wang import org.junit.Test; 74739258c9SLi Feng Wang import org.junit.rules.TestName; 75739258c9SLi Feng Wang import org.openoffice.test.common.DataSheet; 76739258c9SLi Feng Wang import org.openoffice.test.common.FileUtil; 77739258c9SLi Feng Wang import org.openoffice.test.common.Logger; 78739258c9SLi Feng Wang 79739258c9SLi Feng Wang import testlib.gui.SCTool; 80739258c9SLi Feng Wang 81739258c9SLi Feng Wang public class BasicFuncOnCalc { 82739258c9SLi Feng Wang @Rule 83739258c9SLi Feng Wang public Logger log = Logger.getLogger(this); 84739258c9SLi Feng Wang 85739258c9SLi Feng Wang @Rule 86739258c9SLi Feng Wang public TestName testname = new TestName(); 87739258c9SLi Feng Wang 88739258c9SLi Feng Wang private static DataSheet xmlResult; 89739258c9SLi Feng Wang 9066d0652aSLi Feng Wang private static int iterator = 100; 91739258c9SLi Feng Wang 92739258c9SLi Feng Wang private int i = 0; 93739258c9SLi Feng Wang 94739258c9SLi Feng Wang /** 95739258c9SLi Feng Wang * @throws java.lang.Exception 96739258c9SLi Feng Wang */ 97739258c9SLi Feng Wang @BeforeClass beforeClass()98739258c9SLi Feng Wang public static void beforeClass() throws Exception { 99688c272fSLi Feng Wang xmlResult = new DataSheet(getFile("output/svt_calc.xml")); 100ac2ddd9cSLi Feng Wang xmlResult.addRow("Data", "Method", "No", "Consumed Time(MS)", "Memory(VSZ)", "Memory(RSS)", "Handles(Windows Only)"); 101739258c9SLi Feng Wang } 102739258c9SLi Feng Wang 103739258c9SLi Feng Wang @AfterClass afterClass()104739258c9SLi Feng Wang public static void afterClass() throws Exception { 105739258c9SLi Feng Wang app.stop(); 106739258c9SLi Feng Wang } 107739258c9SLi Feng Wang 108739258c9SLi Feng Wang @Before before()109739258c9SLi Feng Wang public void before()throws Exception{ 110739258c9SLi Feng Wang app.start(true); 111739258c9SLi Feng Wang } 112739258c9SLi Feng Wang 113739258c9SLi Feng Wang 114739258c9SLi Feng Wang @Test saveNewSCWithNumberFormat()115739258c9SLi Feng Wang public void saveNewSCWithNumberFormat() { 116739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 117739258c9SLi Feng Wang long start = System.currentTimeMillis(); 118739258c9SLi Feng Wang createNewSC(); 119739258c9SLi Feng Wang SCTool.selectRange("A1"); 120739258c9SLi Feng Wang typeKeys("0.3"); 121739258c9SLi Feng Wang sleep(1); 122739258c9SLi Feng Wang app.dispatch(".uno:FormatCellDialog"); 123739258c9SLi Feng Wang sleep(2); 124739258c9SLi Feng Wang scFormatCode.setText("0%"); 125739258c9SLi Feng Wang typeKeys("<enter>"); 126739258c9SLi Feng Wang sleep(1); 127739258c9SLi Feng Wang saveAndReopenNewSC(i); 128739258c9SLi Feng Wang long end = System.currentTimeMillis(); 129739258c9SLi Feng Wang addRecord(i, start, end); 130739258c9SLi Feng Wang } 131739258c9SLi Feng Wang } 132739258c9SLi Feng Wang 133739258c9SLi Feng Wang @Test saveNewSCWithPrintRange()134739258c9SLi Feng Wang public void saveNewSCWithPrintRange() throws Exception { 135739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 136739258c9SLi Feng Wang long start = System.currentTimeMillis(); 137739258c9SLi Feng Wang createNewSC(); 138739258c9SLi Feng Wang app.dispatch(".uno:EditPrintArea"); 139739258c9SLi Feng Wang sleep(1); 140739258c9SLi Feng Wang scPrintAreaType.select("- user defined -"); 141739258c9SLi Feng Wang scPrintArea.setText("$A$1:$C$4"); 142739258c9SLi Feng Wang typeKeys("<enter>"); 143739258c9SLi Feng Wang SCTool.selectRange("A1"); 144739258c9SLi Feng Wang typeKeys("test"); 145739258c9SLi Feng Wang saveAndReopenNewSC(i); 146739258c9SLi Feng Wang long end = System.currentTimeMillis(); 147739258c9SLi Feng Wang addRecord(i, start, end); 148739258c9SLi Feng Wang } 149739258c9SLi Feng Wang } 150739258c9SLi Feng Wang 151739258c9SLi Feng Wang @Test saveNewSCWithText()152739258c9SLi Feng Wang public void saveNewSCWithText() throws Exception { 153739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 154739258c9SLi Feng Wang long start = System.currentTimeMillis(); 155739258c9SLi Feng Wang createNewSC(); 156739258c9SLi Feng Wang SCTool.selectRange("A1"); 157739258c9SLi Feng Wang typeKeys("test"); 158739258c9SLi Feng Wang saveAndReopenNewSC(i); 159739258c9SLi Feng Wang long end = System.currentTimeMillis(); 160739258c9SLi Feng Wang addRecord(i, start, end); 161739258c9SLi Feng Wang } 162739258c9SLi Feng Wang } 163739258c9SLi Feng Wang 164739258c9SLi Feng Wang @Test saveNewSCWithDataSort()165739258c9SLi Feng Wang public void saveNewSCWithDataSort() throws Exception { 166739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 167739258c9SLi Feng Wang long start = System.currentTimeMillis(); 168739258c9SLi Feng Wang createNewSC(); 169739258c9SLi Feng Wang SCTool.selectRange("A1"); 170739258c9SLi Feng Wang typeKeys("3<down>2<down>5<down>1<down>6<down>4<down>10<down>8<down>9<down>7"); 171739258c9SLi Feng Wang sleep(1); 172739258c9SLi Feng Wang app.dispatch(".uno:DataSort"); 173739258c9SLi Feng Wang sortOptionsPage.select(); 174739258c9SLi Feng Wang sortOptionsPageRangeContainsColumnLabels.uncheck(); 175739258c9SLi Feng Wang sortPage.select(); 176739258c9SLi Feng Wang sortPageBy1.select(1); // "Column A" 177739258c9SLi Feng Wang sortPageAscending1.check(); 178739258c9SLi Feng Wang sortPage.ok(); 179739258c9SLi Feng Wang saveAndReopenNewSC(i); 180739258c9SLi Feng Wang long end = System.currentTimeMillis(); 181739258c9SLi Feng Wang addRecord(i, start, end); 182739258c9SLi Feng Wang } 183739258c9SLi Feng Wang } 184739258c9SLi Feng Wang 185739258c9SLi Feng Wang @Test saveNewSCWithInsertSheets()186739258c9SLi Feng Wang public void saveNewSCWithInsertSheets() throws Exception { 187739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 188739258c9SLi Feng Wang long start = System.currentTimeMillis(); 189739258c9SLi Feng Wang createNewSC(); 190739258c9SLi Feng Wang app.dispatch(".uno:Insert"); 191739258c9SLi Feng Wang scAfterCurrentSheet.check(); 192739258c9SLi Feng Wang scNewSheetName.setText("Instant Filter"); 193739258c9SLi Feng Wang scInsertSheetDlg.ok(); 194739258c9SLi Feng Wang sleep(5); 195739258c9SLi Feng Wang saveAndReopenNewSC(i); 196739258c9SLi Feng Wang long end = System.currentTimeMillis(); 197739258c9SLi Feng Wang addRecord(i, start, end); 198739258c9SLi Feng Wang } 199739258c9SLi Feng Wang } 200739258c9SLi Feng Wang 201739258c9SLi Feng Wang @Test saveNewSCWithStandardFilter()202739258c9SLi Feng Wang public void saveNewSCWithStandardFilter() throws Exception { 203739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 204739258c9SLi Feng Wang long start = System.currentTimeMillis(); 205739258c9SLi Feng Wang createNewSC(); 206739258c9SLi Feng Wang SCTool.selectRange("A1"); 207739258c9SLi Feng Wang typeKeys("A<down>1<down>2<down>3<down>1<down>2<down>3<down>1<down>2<down>3"); 208739258c9SLi Feng Wang sleep(1); 209739258c9SLi Feng Wang SCTool.selectRange("A1"); 210739258c9SLi Feng Wang app.dispatch(".uno:DataFilterStandardFilter"); 211739258c9SLi Feng Wang sleep(2); 212739258c9SLi Feng Wang filterValue1.setText("1"); 213739258c9SLi Feng Wang standardFilterDlg.ok(); 214739258c9SLi Feng Wang saveAndReopenNewSC(i); 215739258c9SLi Feng Wang long end = System.currentTimeMillis(); 216739258c9SLi Feng Wang addRecord(i, start, end); 217739258c9SLi Feng Wang } 218739258c9SLi Feng Wang } 219739258c9SLi Feng Wang 220739258c9SLi Feng Wang @Test saveNewSCWithInsertPic()221739258c9SLi Feng Wang public void saveNewSCWithInsertPic() throws Exception { 222739258c9SLi Feng Wang String pic = prepareData("image/blue_256x256.jpg"); 223739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 224739258c9SLi Feng Wang long start = System.currentTimeMillis(); 225739258c9SLi Feng Wang createNewSC(); 226739258c9SLi Feng Wang calc.menuItem("Insert->Picture->From File...").select(); 227739258c9SLi Feng Wang sleep(2); 228739258c9SLi Feng Wang filePickerPath.setText(pic); 229739258c9SLi Feng Wang sleep(1); 230739258c9SLi Feng Wang filePickerOpen.click(); 231739258c9SLi Feng Wang sleep(2); 232739258c9SLi Feng Wang typeKeys("<esc>"); 233739258c9SLi Feng Wang sleep(2); 234739258c9SLi Feng Wang saveAndReopenNewSC(i); 235739258c9SLi Feng Wang long end = System.currentTimeMillis(); 236739258c9SLi Feng Wang addRecord(i, start, end); 237739258c9SLi Feng Wang } 238739258c9SLi Feng Wang } 239739258c9SLi Feng Wang 240739258c9SLi Feng Wang @Test saveNewSCWithValidaty()241739258c9SLi Feng Wang public void saveNewSCWithValidaty() throws Exception { 242739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 243739258c9SLi Feng Wang long start = System.currentTimeMillis(); 244739258c9SLi Feng Wang createNewSC(); 245739258c9SLi Feng Wang app.dispatch(".uno:Insert"); 246739258c9SLi Feng Wang scAfterCurrentSheet.check(); 247739258c9SLi Feng Wang scNewSheetName.setText("Data Validate"); 248739258c9SLi Feng Wang scInsertSheetDlg.ok(); 249739258c9SLi Feng Wang sleep(5); 250739258c9SLi Feng Wang SCTool.selectRange("B2:E5"); 251739258c9SLi Feng Wang sleep(2); 252739258c9SLi Feng Wang 253739258c9SLi Feng Wang app.dispatch(".uno:Validation"); 254739258c9SLi Feng Wang scValidityCriteriaTabpage.select(); 255739258c9SLi Feng Wang scValidityCriteriaAllowList.select("Whole Numbers"); 256739258c9SLi Feng Wang scValidityDecimalCompareOperator.select("greater than"); 257739258c9SLi Feng Wang scValiditySourceInput.setText("1"); 258739258c9SLi Feng Wang scValidityErrorAlertTabPage.select(); 259739258c9SLi Feng Wang scValidityShowErrorMessage.check(); 260739258c9SLi Feng Wang scValidityErrorMessageTitle.setText("Error"); 261739258c9SLi Feng Wang scValidityErrorMessage.setText("Must greater than 1"); 262739258c9SLi Feng Wang scValidityErrorAlertTabPage.ok(); 263739258c9SLi Feng Wang 264739258c9SLi Feng Wang SCTool.selectRange("B2"); 265739258c9SLi Feng Wang typeKeys("0<enter>"); 266739258c9SLi Feng Wang activeMsgBox.ok(); 267739258c9SLi Feng Wang sleep(1); 268739258c9SLi Feng Wang 269739258c9SLi Feng Wang SCTool.selectRange("E5"); 270739258c9SLi Feng Wang typeKeys("1<enter>"); 271739258c9SLi Feng Wang activeMsgBox.ok(); 272739258c9SLi Feng Wang sleep(1); 273739258c9SLi Feng Wang 274739258c9SLi Feng Wang SCTool.selectRange("E2"); 275739258c9SLi Feng Wang typeKeys("2<enter>"); 276739258c9SLi Feng Wang sleep(5); 277739258c9SLi Feng Wang saveAndReopenNewSC(i); 278739258c9SLi Feng Wang long end = System.currentTimeMillis(); 279739258c9SLi Feng Wang addRecord(i, start, end); 280739258c9SLi Feng Wang } 281739258c9SLi Feng Wang } 282739258c9SLi Feng Wang 283739258c9SLi Feng Wang @Test insertChartToOpenedSC()284739258c9SLi Feng Wang public void insertChartToOpenedSC() throws Exception { 285739258c9SLi Feng Wang String file = prepareData("pvt/plain_11s.ods"); 286739258c9SLi Feng Wang String[][] inputStr = { { "Area", "Item", "Count" }, { "1", "2", "3" }, 287739258c9SLi Feng Wang { "4", "5", "6" }, { "7", "8", "9" }, { "10", "11", "12" } }; 288739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 289739258c9SLi Feng Wang long start = System.currentTimeMillis(); 290739258c9SLi Feng Wang app.dispatch(".uno:Open"); 291739258c9SLi Feng Wang submitOpenDlg(file); 292739258c9SLi Feng Wang calc.waitForExistence(20, 2); 293739258c9SLi Feng Wang sleep(2); 294739258c9SLi Feng Wang 295739258c9SLi Feng Wang // Insert Chart 296739258c9SLi Feng Wang app.dispatch(".uno:Insert"); 297739258c9SLi Feng Wang scAfterCurrentSheet.check(); 298739258c9SLi Feng Wang scNewSheetName.setText("Instant Chart"); 299739258c9SLi Feng Wang scInsertSheetDlg.ok(); 300739258c9SLi Feng Wang sleep(5); 301739258c9SLi Feng Wang inputCells(inputStr); 302739258c9SLi Feng Wang sleep(2); 303739258c9SLi Feng Wang SCTool.selectRange("A1:C5"); 304739258c9SLi Feng Wang calc.menuItem("Insert->Chart...").select(); 305739258c9SLi Feng Wang sleep(1); 306739258c9SLi Feng Wang chartWizard.ok(); 307739258c9SLi Feng Wang sleep(5); 308739258c9SLi Feng Wang calc.typeKeys("<esc>"); 309739258c9SLi Feng Wang sleep(5); 310739258c9SLi Feng Wang calc.typeKeys("<esc>"); 311739258c9SLi Feng Wang sleep(5); 312739258c9SLi Feng Wang calc.typeKeys("<esc>"); 313739258c9SLi Feng Wang sleep(5); 314739258c9SLi Feng Wang closeWithoutSaveSC(); 315739258c9SLi Feng Wang long end = System.currentTimeMillis(); 316739258c9SLi Feng Wang addRecord(i, start, end); 317739258c9SLi Feng Wang } 318739258c9SLi Feng Wang } 319739258c9SLi Feng Wang 320739258c9SLi Feng Wang @Test insertPicToOpenedSC()321739258c9SLi Feng Wang public void insertPicToOpenedSC() throws Exception { 322739258c9SLi Feng Wang String file = prepareData("pvt/plain_11s.ods"); 323739258c9SLi Feng Wang String pic = prepareData("image/blue_256x256.jpg"); 324739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 325739258c9SLi Feng Wang long start = System.currentTimeMillis(); 326739258c9SLi Feng Wang app.dispatch(".uno:Open"); 327739258c9SLi Feng Wang submitOpenDlg(file); 328739258c9SLi Feng Wang calc.waitForExistence(20, 2); 329739258c9SLi Feng Wang sleep(2); 330739258c9SLi Feng Wang 331739258c9SLi Feng Wang // Insert Chart 332739258c9SLi Feng Wang app.dispatch(".uno:Insert"); 333739258c9SLi Feng Wang scAfterCurrentSheet.check(); 334739258c9SLi Feng Wang scNewSheetName.setText("Instant Graphic"); 335739258c9SLi Feng Wang scInsertSheetDlg.ok(); 336739258c9SLi Feng Wang sleep(5); 337739258c9SLi Feng Wang calc.menuItem("Insert->Picture->From File...").select(); 338739258c9SLi Feng Wang sleep(2); 339739258c9SLi Feng Wang filePickerPath.setText(pic); 340739258c9SLi Feng Wang sleep(1); 341739258c9SLi Feng Wang filePickerOpen.click(); 342739258c9SLi Feng Wang sleep(5); 343739258c9SLi Feng Wang calc.typeKeys("<esc>"); 344739258c9SLi Feng Wang sleep(2); 345739258c9SLi Feng Wang closeWithoutSaveSC(); 346739258c9SLi Feng Wang long end = System.currentTimeMillis(); 347739258c9SLi Feng Wang addRecord(i, start, end); 348739258c9SLi Feng Wang } 349739258c9SLi Feng Wang } 350739258c9SLi Feng Wang 351739258c9SLi Feng Wang @Test insertFontWorkToOpenedSC()352739258c9SLi Feng Wang public void insertFontWorkToOpenedSC() throws Exception { 353739258c9SLi Feng Wang String file = prepareData("pvt/plain_11s.ods"); 354739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 355739258c9SLi Feng Wang long start = System.currentTimeMillis(); 356739258c9SLi Feng Wang app.dispatch(".uno:Open"); 357739258c9SLi Feng Wang submitOpenDlg(file); 358739258c9SLi Feng Wang calc.waitForExistence(20, 2); 359739258c9SLi Feng Wang sleep(2); 360739258c9SLi Feng Wang 361739258c9SLi Feng Wang calc.menuItem("View->Toolbars->Fontwork").select(); 362739258c9SLi Feng Wang sleep(2); 363739258c9SLi Feng Wang app.dispatch(".uno:FontworkGalleryFloater"); 364739258c9SLi Feng Wang sleep(2); 365739258c9SLi Feng Wang typeKeys("<right>"); 366739258c9SLi Feng Wang fontworkGalleryDlg.ok(); 367739258c9SLi Feng Wang sleep(2); 368739258c9SLi Feng Wang calc.typeKeys("<esc>"); 369739258c9SLi Feng Wang sleep(2); 370739258c9SLi Feng Wang 371739258c9SLi Feng Wang closeWithoutSaveSC(); 372739258c9SLi Feng Wang long end = System.currentTimeMillis(); 373739258c9SLi Feng Wang addRecord(i, start, end); 374739258c9SLi Feng Wang } 375739258c9SLi Feng Wang } 376739258c9SLi Feng Wang 377739258c9SLi Feng Wang @Test switchFileContainingChart()378739258c9SLi Feng Wang public void switchFileContainingChart() throws Exception { 379739258c9SLi Feng Wang String file1 = prepareData("svt/64K_Chart1.ods"); 380739258c9SLi Feng Wang String file2 = prepareData("svt/64K_Chart2.ods"); 381739258c9SLi Feng Wang String file3 = prepareData("svt/64K_Chart3.ods"); 382739258c9SLi Feng Wang String file4 = prepareData("svt/64K_Chart4.ods"); 383739258c9SLi Feng Wang String file5 = prepareData("svt/64K_Chart5.ods"); 384739258c9SLi Feng Wang String file6 = prepareData("svt/64K_Chart6.ods"); 385739258c9SLi Feng Wang 386739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 387739258c9SLi Feng Wang long start = System.currentTimeMillis(); 388739258c9SLi Feng Wang app.dispatch(".uno:Open"); 389739258c9SLi Feng Wang submitOpenDlg(file1); 390739258c9SLi Feng Wang calc.waitForExistence(20, 2); 391739258c9SLi Feng Wang sleep(2); 392739258c9SLi Feng Wang 393739258c9SLi Feng Wang app.dispatch(".uno:Open"); 394739258c9SLi Feng Wang submitOpenDlg(file2); 395739258c9SLi Feng Wang calc.waitForExistence(20, 2); 396739258c9SLi Feng Wang sleep(2); 397739258c9SLi Feng Wang 398739258c9SLi Feng Wang app.dispatch(".uno:Open"); 399739258c9SLi Feng Wang submitOpenDlg(file3); 400739258c9SLi Feng Wang calc.waitForExistence(20, 2); 401739258c9SLi Feng Wang sleep(2); 402739258c9SLi Feng Wang 403739258c9SLi Feng Wang app.dispatch(".uno:Open"); 404739258c9SLi Feng Wang submitOpenDlg(file4); 405739258c9SLi Feng Wang calc.waitForExistence(20, 2); 406739258c9SLi Feng Wang sleep(2); 407739258c9SLi Feng Wang 408739258c9SLi Feng Wang app.dispatch(".uno:Open"); 409739258c9SLi Feng Wang submitOpenDlg(file5); 410739258c9SLi Feng Wang calc.waitForExistence(20, 2); 411739258c9SLi Feng Wang sleep(2); 412739258c9SLi Feng Wang 413739258c9SLi Feng Wang app.dispatch(".uno:Open"); 414739258c9SLi Feng Wang submitOpenDlg(file6); 415739258c9SLi Feng Wang calc.waitForExistence(20, 2); 416739258c9SLi Feng Wang 417739258c9SLi Feng Wang sleep(2); 418739258c9SLi Feng Wang 419739258c9SLi Feng Wang selectCertainFile(2); 420739258c9SLi Feng Wang sleep(2); 421739258c9SLi Feng Wang selectCertainFile(3); 422739258c9SLi Feng Wang sleep(2); 423739258c9SLi Feng Wang selectCertainFile(5); 424739258c9SLi Feng Wang sleep(2); 425739258c9SLi Feng Wang 426739258c9SLi Feng Wang closeAlldocuments(); 427739258c9SLi Feng Wang sleep(3); 428739258c9SLi Feng Wang long end = System.currentTimeMillis(); 429739258c9SLi Feng Wang addRecord(i, start, end); 430739258c9SLi Feng Wang } 431739258c9SLi Feng Wang } 432739258c9SLi Feng Wang selectCertainFile(int k)433739258c9SLi Feng Wang public void selectCertainFile(int k) { 434739258c9SLi Feng Wang calc.menuItem("Window").select(); 435739258c9SLi Feng Wang k += 5; 436739258c9SLi Feng Wang for (int i = 0; i < k; i++) { 437739258c9SLi Feng Wang typeKeys("<down>"); 438739258c9SLi Feng Wang } 439739258c9SLi Feng Wang typeKeys("<enter>"); 440739258c9SLi Feng Wang sleep(2); 441739258c9SLi Feng Wang } 442739258c9SLi Feng Wang closeAlldocuments()443739258c9SLi Feng Wang public void closeAlldocuments() { 444739258c9SLi Feng Wang for (int index = 3; index < 9; index++) { 445739258c9SLi Feng Wang calc.menuItem("File->Close").select(); 446739258c9SLi Feng Wang sleep(2); 447739258c9SLi Feng Wang } 448739258c9SLi Feng Wang 449739258c9SLi Feng Wang } 450739258c9SLi Feng Wang inputCells(String[][] inputs)451739258c9SLi Feng Wang public static void inputCells(String[][] inputs) { 452739258c9SLi Feng Wang String back = ""; 453739258c9SLi Feng Wang for (int i = 0; i < inputs.length; i++) { 454739258c9SLi Feng Wang calc.typeKeys(back); 455739258c9SLi Feng Wang sleep(1); 456739258c9SLi Feng Wang back = ""; 457739258c9SLi Feng Wang for (int j = 0; j < inputs[i].length; j++) { 458739258c9SLi Feng Wang typeKeys(inputs[i][j]); 459739258c9SLi Feng Wang typeKeys("<Right>"); 460739258c9SLi Feng Wang sleep(0.5); 461739258c9SLi Feng Wang back += "<Left>"; 462739258c9SLi Feng Wang } 463739258c9SLi Feng Wang back += "<enter>"; 464739258c9SLi Feng Wang } 465739258c9SLi Feng Wang sleep(2); 466739258c9SLi Feng Wang } 467739258c9SLi Feng Wang createNewSC()468739258c9SLi Feng Wang private void createNewSC() { 469739258c9SLi Feng Wang app.dispatch("private:factory/scalc"); 470739258c9SLi Feng Wang } 471739258c9SLi Feng Wang saveAndReopenNewSC(int iterator)472739258c9SLi Feng Wang private void saveAndReopenNewSC(int iterator) { 473739258c9SLi Feng Wang String saveTo = getPath("temp/" + "tempSC_New" + iterator + ".ods"); 474739258c9SLi Feng Wang calc.menuItem("File->Save As...").select(); 475739258c9SLi Feng Wang FileUtil.deleteFile(saveTo); 476739258c9SLi Feng Wang submitSaveDlg(saveTo); 477739258c9SLi Feng Wang if (activeMsgBox.exists()) { 478739258c9SLi Feng Wang activeMsgBox.yes(); 479739258c9SLi Feng Wang sleep(2); 480739258c9SLi Feng Wang } 481739258c9SLi Feng Wang app.dispatch(".uno:CloseDoc"); 482739258c9SLi Feng Wang // sleep(2); 483739258c9SLi Feng Wang startCenterOpenButton.waitForExistence(30, 2); 484739258c9SLi Feng Wang startCenterOpenButton.click(); 485739258c9SLi Feng Wang submitOpenDlg(saveTo); 486739258c9SLi Feng Wang sleep(1); 487739258c9SLi Feng Wang app.dispatch(".uno:CloseDoc"); 488739258c9SLi Feng Wang } 489739258c9SLi Feng Wang closeWithoutSaveSC()490739258c9SLi Feng Wang private void closeWithoutSaveSC() { 491739258c9SLi Feng Wang calc.menuItem("File->Close").select(); 492739258c9SLi Feng Wang activeMsgBox.no(); 493739258c9SLi Feng Wang sleep(2); 494739258c9SLi Feng Wang } 495739258c9SLi Feng Wang addRecord(int i, long start, long end)496739258c9SLi Feng Wang private void addRecord(int i, long start, long end) { 497bc99f727SLiu Zhe HashMap<String, Object> perf = aoo.getPerfData(); 498ac2ddd9cSLi Feng Wang xmlResult.addRow("Data",testname.getMethodName(), i, (end - start), 499bc99f727SLiu Zhe perf.get("vsz"), perf.get("rss"), perf.get("handles")); 500*122356beSHerbert Dürr log.log( Level.INFO, "\t"+testname.getMethodName()+"["+i+"] took "+(end-start)+"ms"); 501739258c9SLi Feng Wang } 502739258c9SLi Feng Wang } 503