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; 67739258c9SLi Feng Wang 68739258c9SLi Feng Wang import org.junit.AfterClass; 69739258c9SLi Feng Wang import org.junit.Before; 70739258c9SLi Feng Wang import org.junit.BeforeClass; 71739258c9SLi Feng Wang import org.junit.Rule; 72739258c9SLi Feng Wang import org.junit.Test; 73739258c9SLi Feng Wang import org.junit.rules.TestName; 74739258c9SLi Feng Wang import org.openoffice.test.common.DataSheet; 75739258c9SLi Feng Wang import org.openoffice.test.common.FileUtil; 76739258c9SLi Feng Wang import org.openoffice.test.common.Logger; 77739258c9SLi Feng Wang 78739258c9SLi Feng Wang import testlib.gui.SCTool; 79739258c9SLi Feng Wang 80739258c9SLi Feng Wang public class BasicFuncOnCalc { 81739258c9SLi Feng Wang @Rule 82739258c9SLi Feng Wang public Logger log = Logger.getLogger(this); 83739258c9SLi Feng Wang 84739258c9SLi Feng Wang @Rule 85739258c9SLi Feng Wang public TestName testname = new TestName(); 86739258c9SLi Feng Wang 87739258c9SLi Feng Wang private static DataSheet xmlResult; 88739258c9SLi Feng Wang 8966d0652aSLi Feng Wang private static int iterator = 100; 90739258c9SLi Feng Wang 91739258c9SLi Feng Wang private int i = 0; 92739258c9SLi Feng Wang 93739258c9SLi Feng Wang /** 94739258c9SLi Feng Wang * @throws java.lang.Exception 95739258c9SLi Feng Wang */ 96739258c9SLi Feng Wang @BeforeClass 97739258c9SLi Feng Wang public static void beforeClass() throws Exception { 98*688c272fSLi Feng Wang xmlResult = new DataSheet(getFile("output/svt_calc.xml")); 99ac2ddd9cSLi Feng Wang xmlResult.addRow("Data", "Method", "No", "Consumed Time(MS)", "Memory(VSZ)", "Memory(RSS)", "Handles(Windows Only)"); 100739258c9SLi Feng Wang } 101739258c9SLi Feng Wang 102739258c9SLi Feng Wang @AfterClass 103739258c9SLi Feng Wang public static void afterClass() throws Exception { 104739258c9SLi Feng Wang app.stop(); 105739258c9SLi Feng Wang } 106739258c9SLi Feng Wang 107739258c9SLi Feng Wang @Before 108739258c9SLi Feng Wang public void before()throws Exception{ 109739258c9SLi Feng Wang app.start(true); 110739258c9SLi Feng Wang } 111739258c9SLi Feng Wang 112739258c9SLi Feng Wang 113739258c9SLi Feng Wang @Test 114739258c9SLi Feng Wang public void saveNewSCWithNumberFormat() { 115739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 116739258c9SLi Feng Wang long start = System.currentTimeMillis(); 117739258c9SLi Feng Wang createNewSC(); 118739258c9SLi Feng Wang SCTool.selectRange("A1"); 119739258c9SLi Feng Wang typeKeys("0.3"); 120739258c9SLi Feng Wang sleep(1); 121739258c9SLi Feng Wang app.dispatch(".uno:FormatCellDialog"); 122739258c9SLi Feng Wang sleep(2); 123739258c9SLi Feng Wang scFormatCode.setText("0%"); 124739258c9SLi Feng Wang typeKeys("<enter>"); 125739258c9SLi Feng Wang sleep(1); 126739258c9SLi Feng Wang saveAndReopenNewSC(i); 127739258c9SLi Feng Wang long end = System.currentTimeMillis(); 128739258c9SLi Feng Wang addRecord(i, start, end); 129739258c9SLi Feng Wang } 130739258c9SLi Feng Wang } 131739258c9SLi Feng Wang 132739258c9SLi Feng Wang @Test 133739258c9SLi Feng Wang public void saveNewSCWithPrintRange() throws Exception { 134739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 135739258c9SLi Feng Wang long start = System.currentTimeMillis(); 136739258c9SLi Feng Wang createNewSC(); 137739258c9SLi Feng Wang app.dispatch(".uno:EditPrintArea"); 138739258c9SLi Feng Wang sleep(1); 139739258c9SLi Feng Wang scPrintAreaType.select("- user defined -"); 140739258c9SLi Feng Wang scPrintArea.setText("$A$1:$C$4"); 141739258c9SLi Feng Wang typeKeys("<enter>"); 142739258c9SLi Feng Wang SCTool.selectRange("A1"); 143739258c9SLi Feng Wang typeKeys("test"); 144739258c9SLi Feng Wang saveAndReopenNewSC(i); 145739258c9SLi Feng Wang long end = System.currentTimeMillis(); 146739258c9SLi Feng Wang addRecord(i, start, end); 147739258c9SLi Feng Wang } 148739258c9SLi Feng Wang } 149739258c9SLi Feng Wang 150739258c9SLi Feng Wang @Test 151739258c9SLi Feng Wang public void saveNewSCWithText() throws Exception { 152739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 153739258c9SLi Feng Wang long start = System.currentTimeMillis(); 154739258c9SLi Feng Wang createNewSC(); 155739258c9SLi Feng Wang SCTool.selectRange("A1"); 156739258c9SLi Feng Wang typeKeys("test"); 157739258c9SLi Feng Wang saveAndReopenNewSC(i); 158739258c9SLi Feng Wang long end = System.currentTimeMillis(); 159739258c9SLi Feng Wang addRecord(i, start, end); 160739258c9SLi Feng Wang } 161739258c9SLi Feng Wang } 162739258c9SLi Feng Wang 163739258c9SLi Feng Wang @Test 164739258c9SLi Feng Wang public void saveNewSCWithDataSort() throws Exception { 165739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 166739258c9SLi Feng Wang long start = System.currentTimeMillis(); 167739258c9SLi Feng Wang createNewSC(); 168739258c9SLi Feng Wang SCTool.selectRange("A1"); 169739258c9SLi Feng Wang typeKeys("3<down>2<down>5<down>1<down>6<down>4<down>10<down>8<down>9<down>7"); 170739258c9SLi Feng Wang sleep(1); 171739258c9SLi Feng Wang app.dispatch(".uno:DataSort"); 172739258c9SLi Feng Wang sortOptionsPage.select(); 173739258c9SLi Feng Wang sortOptionsPageRangeContainsColumnLabels.uncheck(); 174739258c9SLi Feng Wang sortPage.select(); 175739258c9SLi Feng Wang sortPageBy1.select(1); // "Column A" 176739258c9SLi Feng Wang sortPageAscending1.check(); 177739258c9SLi Feng Wang sortPage.ok(); 178739258c9SLi Feng Wang saveAndReopenNewSC(i); 179739258c9SLi Feng Wang long end = System.currentTimeMillis(); 180739258c9SLi Feng Wang addRecord(i, start, end); 181739258c9SLi Feng Wang } 182739258c9SLi Feng Wang } 183739258c9SLi Feng Wang 184739258c9SLi Feng Wang @Test 185739258c9SLi Feng Wang public void saveNewSCWithInsertSheets() throws Exception { 186739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 187739258c9SLi Feng Wang long start = System.currentTimeMillis(); 188739258c9SLi Feng Wang createNewSC(); 189739258c9SLi Feng Wang app.dispatch(".uno:Insert"); 190739258c9SLi Feng Wang scAfterCurrentSheet.check(); 191739258c9SLi Feng Wang scNewSheetName.setText("Instant Filter"); 192739258c9SLi Feng Wang scInsertSheetDlg.ok(); 193739258c9SLi Feng Wang sleep(5); 194739258c9SLi Feng Wang saveAndReopenNewSC(i); 195739258c9SLi Feng Wang long end = System.currentTimeMillis(); 196739258c9SLi Feng Wang addRecord(i, start, end); 197739258c9SLi Feng Wang } 198739258c9SLi Feng Wang } 199739258c9SLi Feng Wang 200739258c9SLi Feng Wang @Test 201739258c9SLi Feng Wang public void saveNewSCWithStandardFilter() throws Exception { 202739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 203739258c9SLi Feng Wang long start = System.currentTimeMillis(); 204739258c9SLi Feng Wang createNewSC(); 205739258c9SLi Feng Wang SCTool.selectRange("A1"); 206739258c9SLi Feng Wang typeKeys("A<down>1<down>2<down>3<down>1<down>2<down>3<down>1<down>2<down>3"); 207739258c9SLi Feng Wang sleep(1); 208739258c9SLi Feng Wang SCTool.selectRange("A1"); 209739258c9SLi Feng Wang app.dispatch(".uno:DataFilterStandardFilter"); 210739258c9SLi Feng Wang sleep(2); 211739258c9SLi Feng Wang filterValue1.setText("1"); 212739258c9SLi Feng Wang standardFilterDlg.ok(); 213739258c9SLi Feng Wang saveAndReopenNewSC(i); 214739258c9SLi Feng Wang long end = System.currentTimeMillis(); 215739258c9SLi Feng Wang addRecord(i, start, end); 216739258c9SLi Feng Wang } 217739258c9SLi Feng Wang } 218739258c9SLi Feng Wang 219739258c9SLi Feng Wang @Test 220739258c9SLi Feng Wang public void saveNewSCWithInsertPic() throws Exception { 221739258c9SLi Feng Wang String pic = prepareData("image/blue_256x256.jpg"); 222739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 223739258c9SLi Feng Wang long start = System.currentTimeMillis(); 224739258c9SLi Feng Wang createNewSC(); 225739258c9SLi Feng Wang calc.menuItem("Insert->Picture->From File...").select(); 226739258c9SLi Feng Wang sleep(2); 227739258c9SLi Feng Wang filePickerPath.setText(pic); 228739258c9SLi Feng Wang sleep(1); 229739258c9SLi Feng Wang filePickerOpen.click(); 230739258c9SLi Feng Wang sleep(2); 231739258c9SLi Feng Wang typeKeys("<esc>"); 232739258c9SLi Feng Wang sleep(2); 233739258c9SLi Feng Wang saveAndReopenNewSC(i); 234739258c9SLi Feng Wang long end = System.currentTimeMillis(); 235739258c9SLi Feng Wang addRecord(i, start, end); 236739258c9SLi Feng Wang } 237739258c9SLi Feng Wang } 238739258c9SLi Feng Wang 239739258c9SLi Feng Wang @Test 240739258c9SLi Feng Wang public void saveNewSCWithValidaty() throws Exception { 241739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 242739258c9SLi Feng Wang long start = System.currentTimeMillis(); 243739258c9SLi Feng Wang createNewSC(); 244739258c9SLi Feng Wang app.dispatch(".uno:Insert"); 245739258c9SLi Feng Wang scAfterCurrentSheet.check(); 246739258c9SLi Feng Wang scNewSheetName.setText("Data Validate"); 247739258c9SLi Feng Wang scInsertSheetDlg.ok(); 248739258c9SLi Feng Wang sleep(5); 249739258c9SLi Feng Wang SCTool.selectRange("B2:E5"); 250739258c9SLi Feng Wang sleep(2); 251739258c9SLi Feng Wang 252739258c9SLi Feng Wang app.dispatch(".uno:Validation"); 253739258c9SLi Feng Wang scValidityCriteriaTabpage.select(); 254739258c9SLi Feng Wang scValidityCriteriaAllowList.select("Whole Numbers"); 255739258c9SLi Feng Wang scValidityDecimalCompareOperator.select("greater than"); 256739258c9SLi Feng Wang scValiditySourceInput.setText("1"); 257739258c9SLi Feng Wang scValidityErrorAlertTabPage.select(); 258739258c9SLi Feng Wang scValidityShowErrorMessage.check(); 259739258c9SLi Feng Wang scValidityErrorMessageTitle.setText("Error"); 260739258c9SLi Feng Wang scValidityErrorMessage.setText("Must greater than 1"); 261739258c9SLi Feng Wang scValidityErrorAlertTabPage.ok(); 262739258c9SLi Feng Wang 263739258c9SLi Feng Wang SCTool.selectRange("B2"); 264739258c9SLi Feng Wang typeKeys("0<enter>"); 265739258c9SLi Feng Wang activeMsgBox.ok(); 266739258c9SLi Feng Wang sleep(1); 267739258c9SLi Feng Wang 268739258c9SLi Feng Wang SCTool.selectRange("E5"); 269739258c9SLi Feng Wang typeKeys("1<enter>"); 270739258c9SLi Feng Wang activeMsgBox.ok(); 271739258c9SLi Feng Wang sleep(1); 272739258c9SLi Feng Wang 273739258c9SLi Feng Wang SCTool.selectRange("E2"); 274739258c9SLi Feng Wang typeKeys("2<enter>"); 275739258c9SLi Feng Wang sleep(5); 276739258c9SLi Feng Wang saveAndReopenNewSC(i); 277739258c9SLi Feng Wang long end = System.currentTimeMillis(); 278739258c9SLi Feng Wang addRecord(i, start, end); 279739258c9SLi Feng Wang } 280739258c9SLi Feng Wang } 281739258c9SLi Feng Wang 282739258c9SLi Feng Wang @Test 283739258c9SLi Feng Wang public void insertChartToOpenedSC() throws Exception { 284739258c9SLi Feng Wang String file = prepareData("pvt/plain_11s.ods"); 285739258c9SLi Feng Wang String[][] inputStr = { { "Area", "Item", "Count" }, { "1", "2", "3" }, 286739258c9SLi Feng Wang { "4", "5", "6" }, { "7", "8", "9" }, { "10", "11", "12" } }; 287739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 288739258c9SLi Feng Wang long start = System.currentTimeMillis(); 289739258c9SLi Feng Wang app.dispatch(".uno:Open"); 290739258c9SLi Feng Wang submitOpenDlg(file); 291739258c9SLi Feng Wang calc.waitForExistence(20, 2); 292739258c9SLi Feng Wang sleep(2); 293739258c9SLi Feng Wang 294739258c9SLi Feng Wang // Insert Chart 295739258c9SLi Feng Wang app.dispatch(".uno:Insert"); 296739258c9SLi Feng Wang scAfterCurrentSheet.check(); 297739258c9SLi Feng Wang scNewSheetName.setText("Instant Chart"); 298739258c9SLi Feng Wang scInsertSheetDlg.ok(); 299739258c9SLi Feng Wang sleep(5); 300739258c9SLi Feng Wang inputCells(inputStr); 301739258c9SLi Feng Wang sleep(2); 302739258c9SLi Feng Wang SCTool.selectRange("A1:C5"); 303739258c9SLi Feng Wang calc.menuItem("Insert->Chart...").select(); 304739258c9SLi Feng Wang sleep(1); 305739258c9SLi Feng Wang chartWizard.ok(); 306739258c9SLi Feng Wang sleep(5); 307739258c9SLi Feng Wang calc.typeKeys("<esc>"); 308739258c9SLi Feng Wang sleep(5); 309739258c9SLi Feng Wang calc.typeKeys("<esc>"); 310739258c9SLi Feng Wang sleep(5); 311739258c9SLi Feng Wang calc.typeKeys("<esc>"); 312739258c9SLi Feng Wang sleep(5); 313739258c9SLi Feng Wang closeWithoutSaveSC(); 314739258c9SLi Feng Wang long end = System.currentTimeMillis(); 315739258c9SLi Feng Wang addRecord(i, start, end); 316739258c9SLi Feng Wang } 317739258c9SLi Feng Wang } 318739258c9SLi Feng Wang 319739258c9SLi Feng Wang @Test 320739258c9SLi Feng Wang public void insertPicToOpenedSC() throws Exception { 321739258c9SLi Feng Wang String file = prepareData("pvt/plain_11s.ods"); 322739258c9SLi Feng Wang String pic = prepareData("image/blue_256x256.jpg"); 323739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 324739258c9SLi Feng Wang long start = System.currentTimeMillis(); 325739258c9SLi Feng Wang app.dispatch(".uno:Open"); 326739258c9SLi Feng Wang submitOpenDlg(file); 327739258c9SLi Feng Wang calc.waitForExistence(20, 2); 328739258c9SLi Feng Wang sleep(2); 329739258c9SLi Feng Wang 330739258c9SLi Feng Wang // Insert Chart 331739258c9SLi Feng Wang app.dispatch(".uno:Insert"); 332739258c9SLi Feng Wang scAfterCurrentSheet.check(); 333739258c9SLi Feng Wang scNewSheetName.setText("Instant Graphic"); 334739258c9SLi Feng Wang scInsertSheetDlg.ok(); 335739258c9SLi Feng Wang sleep(5); 336739258c9SLi Feng Wang calc.menuItem("Insert->Picture->From File...").select(); 337739258c9SLi Feng Wang sleep(2); 338739258c9SLi Feng Wang filePickerPath.setText(pic); 339739258c9SLi Feng Wang sleep(1); 340739258c9SLi Feng Wang filePickerOpen.click(); 341739258c9SLi Feng Wang sleep(5); 342739258c9SLi Feng Wang calc.typeKeys("<esc>"); 343739258c9SLi Feng Wang sleep(2); 344739258c9SLi Feng Wang closeWithoutSaveSC(); 345739258c9SLi Feng Wang long end = System.currentTimeMillis(); 346739258c9SLi Feng Wang addRecord(i, start, end); 347739258c9SLi Feng Wang } 348739258c9SLi Feng Wang } 349739258c9SLi Feng Wang 350739258c9SLi Feng Wang @Test 351739258c9SLi Feng Wang public void insertFontWorkToOpenedSC() throws Exception { 352739258c9SLi Feng Wang String file = prepareData("pvt/plain_11s.ods"); 353739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 354739258c9SLi Feng Wang long start = System.currentTimeMillis(); 355739258c9SLi Feng Wang app.dispatch(".uno:Open"); 356739258c9SLi Feng Wang submitOpenDlg(file); 357739258c9SLi Feng Wang calc.waitForExistence(20, 2); 358739258c9SLi Feng Wang sleep(2); 359739258c9SLi Feng Wang 360739258c9SLi Feng Wang calc.menuItem("View->Toolbars->Fontwork").select(); 361739258c9SLi Feng Wang sleep(2); 362739258c9SLi Feng Wang app.dispatch(".uno:FontworkGalleryFloater"); 363739258c9SLi Feng Wang sleep(2); 364739258c9SLi Feng Wang typeKeys("<right>"); 365739258c9SLi Feng Wang fontworkGalleryDlg.ok(); 366739258c9SLi Feng Wang sleep(2); 367739258c9SLi Feng Wang calc.typeKeys("<esc>"); 368739258c9SLi Feng Wang sleep(2); 369739258c9SLi Feng Wang 370739258c9SLi Feng Wang closeWithoutSaveSC(); 371739258c9SLi Feng Wang long end = System.currentTimeMillis(); 372739258c9SLi Feng Wang addRecord(i, start, end); 373739258c9SLi Feng Wang } 374739258c9SLi Feng Wang } 375739258c9SLi Feng Wang 376739258c9SLi Feng Wang @Test 377739258c9SLi Feng Wang public void switchFileContainingChart() throws Exception { 378739258c9SLi Feng Wang String file1 = prepareData("svt/64K_Chart1.ods"); 379739258c9SLi Feng Wang String file2 = prepareData("svt/64K_Chart2.ods"); 380739258c9SLi Feng Wang String file3 = prepareData("svt/64K_Chart3.ods"); 381739258c9SLi Feng Wang String file4 = prepareData("svt/64K_Chart4.ods"); 382739258c9SLi Feng Wang String file5 = prepareData("svt/64K_Chart5.ods"); 383739258c9SLi Feng Wang String file6 = prepareData("svt/64K_Chart6.ods"); 384739258c9SLi Feng Wang 385739258c9SLi Feng Wang for (i = 1; i <= iterator; i++) { 386739258c9SLi Feng Wang long start = System.currentTimeMillis(); 387739258c9SLi Feng Wang app.dispatch(".uno:Open"); 388739258c9SLi Feng Wang submitOpenDlg(file1); 389739258c9SLi Feng Wang calc.waitForExistence(20, 2); 390739258c9SLi Feng Wang sleep(2); 391739258c9SLi Feng Wang 392739258c9SLi Feng Wang app.dispatch(".uno:Open"); 393739258c9SLi Feng Wang submitOpenDlg(file2); 394739258c9SLi Feng Wang calc.waitForExistence(20, 2); 395739258c9SLi Feng Wang sleep(2); 396739258c9SLi Feng Wang 397739258c9SLi Feng Wang app.dispatch(".uno:Open"); 398739258c9SLi Feng Wang submitOpenDlg(file3); 399739258c9SLi Feng Wang calc.waitForExistence(20, 2); 400739258c9SLi Feng Wang sleep(2); 401739258c9SLi Feng Wang 402739258c9SLi Feng Wang app.dispatch(".uno:Open"); 403739258c9SLi Feng Wang submitOpenDlg(file4); 404739258c9SLi Feng Wang calc.waitForExistence(20, 2); 405739258c9SLi Feng Wang sleep(2); 406739258c9SLi Feng Wang 407739258c9SLi Feng Wang app.dispatch(".uno:Open"); 408739258c9SLi Feng Wang submitOpenDlg(file5); 409739258c9SLi Feng Wang calc.waitForExistence(20, 2); 410739258c9SLi Feng Wang sleep(2); 411739258c9SLi Feng Wang 412739258c9SLi Feng Wang app.dispatch(".uno:Open"); 413739258c9SLi Feng Wang submitOpenDlg(file6); 414739258c9SLi Feng Wang calc.waitForExistence(20, 2); 415739258c9SLi Feng Wang 416739258c9SLi Feng Wang sleep(2); 417739258c9SLi Feng Wang 418739258c9SLi Feng Wang selectCertainFile(2); 419739258c9SLi Feng Wang sleep(2); 420739258c9SLi Feng Wang selectCertainFile(3); 421739258c9SLi Feng Wang sleep(2); 422739258c9SLi Feng Wang selectCertainFile(5); 423739258c9SLi Feng Wang sleep(2); 424739258c9SLi Feng Wang 425739258c9SLi Feng Wang closeAlldocuments(); 426739258c9SLi Feng Wang sleep(3); 427739258c9SLi Feng Wang long end = System.currentTimeMillis(); 428739258c9SLi Feng Wang addRecord(i, start, end); 429739258c9SLi Feng Wang } 430739258c9SLi Feng Wang } 431739258c9SLi Feng Wang 432739258c9SLi Feng Wang public void selectCertainFile(int k) { 433739258c9SLi Feng Wang calc.menuItem("Window").select(); 434739258c9SLi Feng Wang k += 5; 435739258c9SLi Feng Wang for (int i = 0; i < k; i++) { 436739258c9SLi Feng Wang typeKeys("<down>"); 437739258c9SLi Feng Wang } 438739258c9SLi Feng Wang typeKeys("<enter>"); 439739258c9SLi Feng Wang sleep(2); 440739258c9SLi Feng Wang } 441739258c9SLi Feng Wang 442739258c9SLi Feng Wang public void closeAlldocuments() { 443739258c9SLi Feng Wang for (int index = 3; index < 9; index++) { 444739258c9SLi Feng Wang calc.menuItem("File->Close").select(); 445739258c9SLi Feng Wang sleep(2); 446739258c9SLi Feng Wang } 447739258c9SLi Feng Wang 448739258c9SLi Feng Wang } 449739258c9SLi Feng Wang 450739258c9SLi Feng Wang public static void inputCells(String[][] inputs) { 451739258c9SLi Feng Wang String back = ""; 452739258c9SLi Feng Wang for (int i = 0; i < inputs.length; i++) { 453739258c9SLi Feng Wang calc.typeKeys(back); 454739258c9SLi Feng Wang sleep(1); 455739258c9SLi Feng Wang back = ""; 456739258c9SLi Feng Wang for (int j = 0; j < inputs[i].length; j++) { 457739258c9SLi Feng Wang typeKeys(inputs[i][j]); 458739258c9SLi Feng Wang typeKeys("<Right>"); 459739258c9SLi Feng Wang sleep(0.5); 460739258c9SLi Feng Wang back += "<Left>"; 461739258c9SLi Feng Wang } 462739258c9SLi Feng Wang back += "<enter>"; 463739258c9SLi Feng Wang } 464739258c9SLi Feng Wang sleep(2); 465739258c9SLi Feng Wang } 466739258c9SLi Feng Wang 467739258c9SLi Feng Wang private void createNewSC() { 468739258c9SLi Feng Wang app.dispatch("private:factory/scalc"); 469739258c9SLi Feng Wang } 470739258c9SLi Feng Wang 471739258c9SLi Feng Wang private void saveAndReopenNewSC(int iterator) { 472739258c9SLi Feng Wang String saveTo = getPath("temp/" + "tempSC_New" + iterator + ".ods"); 473739258c9SLi Feng Wang calc.menuItem("File->Save As...").select(); 474739258c9SLi Feng Wang FileUtil.deleteFile(saveTo); 475739258c9SLi Feng Wang submitSaveDlg(saveTo); 476739258c9SLi Feng Wang if (activeMsgBox.exists()) { 477739258c9SLi Feng Wang activeMsgBox.yes(); 478739258c9SLi Feng Wang sleep(2); 479739258c9SLi Feng Wang } 480739258c9SLi Feng Wang app.dispatch(".uno:CloseDoc"); 481739258c9SLi Feng Wang // sleep(2); 482739258c9SLi Feng Wang startCenterOpenButton.waitForExistence(30, 2); 483739258c9SLi Feng Wang startCenterOpenButton.click(); 484739258c9SLi Feng Wang submitOpenDlg(saveTo); 485739258c9SLi Feng Wang sleep(1); 486739258c9SLi Feng Wang app.dispatch(".uno:CloseDoc"); 487739258c9SLi Feng Wang } 488739258c9SLi Feng Wang 489739258c9SLi Feng Wang private void closeWithoutSaveSC() { 490739258c9SLi Feng Wang calc.menuItem("File->Close").select(); 491739258c9SLi Feng Wang activeMsgBox.no(); 492739258c9SLi Feng Wang sleep(2); 493739258c9SLi Feng Wang } 494739258c9SLi Feng Wang 495739258c9SLi Feng Wang private void addRecord(int i, long start, long end) { 496bc99f727SLiu Zhe HashMap<String, Object> perf = aoo.getPerfData(); 497ac2ddd9cSLi Feng Wang xmlResult.addRow("Data",testname.getMethodName(), i, (end - start), 498bc99f727SLiu Zhe perf.get("vsz"), perf.get("rss"), perf.get("handles")); 499739258c9SLi Feng Wang } 500739258c9SLi Feng Wang } 501