cypress_test/integration_tests/mobile/writer/apply_paragraph_properties_spec.js | 3 cypress_test/integration_tests/mobile/writer/insert_field_spec.js | 44 -- cypress_test/integration_tests/mobile/writer/insert_formatting_mark_spec.js | 51 -- cypress_test/integration_tests/mobile/writer/shape_properties_spec.js | 179 ++-------- cypress_test/integration_tests/mobile/writer/table_properties_spec.js | 131 +------ 5 files changed, 101 insertions(+), 307 deletions(-)
New commits: commit 389720d9484a7bfd98c8a0ab06e855350e8ff290 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Thu Feb 20 14:51:51 2020 +0100 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Thu Feb 20 17:08:05 2020 +0100 cypress: mobile: make mobile wizard navigation more stable. When we open a new panel in the mobile wizard the new content appears after a short animation. I suspect that this animation makes tests to fail sometimes with 'detached from DOM' error. Waiting the end of the animation seems help on this issue. Change-Id: Ie9cc322ff9bd9a6287b4d57126e6afab91a98713 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89107 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/integration_tests/mobile/writer/apply_paragraph_properties_spec.js b/cypress_test/integration_tests/mobile/writer/apply_paragraph_properties_spec.js index e86e3b92f..df8cc63a3 100644 --- a/cypress_test/integration_tests/mobile/writer/apply_paragraph_properties_spec.js +++ b/cypress_test/integration_tests/mobile/writer/apply_paragraph_properties_spec.js @@ -22,7 +22,8 @@ describe('Apply paragraph properties.', function() { .click(); cy.get('#Paragraph') - .should('have.class', 'selected'); + .should('have.class', 'selected') + .wait(100); }); afterEach(function() { diff --git a/cypress_test/integration_tests/mobile/writer/insert_field_spec.js b/cypress_test/integration_tests/mobile/writer/insert_field_spec.js index 9cd7296fb..91cb9d15c 100644 --- a/cypress_test/integration_tests/mobile/writer/insert_field_spec.js +++ b/cypress_test/integration_tests/mobile/writer/insert_field_spec.js @@ -13,6 +13,15 @@ describe('Insert fields via insertion wizard.', function() { cy.get('#tb_actionbar_item_insertion_mobile_wizard') .should('not.have.class', 'disabled') .click(); + + // Open fields submenu + cy.get('.sub-menu-title') + .contains('More Fields...') + .click(); + + cy.get('.ui-content.level-0.mobile-wizard') + .should('be.visible') + .wait(100); }); afterEach(function() { @@ -20,11 +29,6 @@ describe('Insert fields via insertion wizard.', function() { }); it('Insert page number field.', function() { - // Open fields submenu - cy.get('.sub-menu-title') - .contains('More Fields...') - .click(); - // Insert field cy.get('.menu-entry-with-icon') .contains('Page Number') @@ -38,11 +42,6 @@ describe('Insert fields via insertion wizard.', function() { }); it('Insert page count field.', function() { - // Open fields submenu - cy.get('.sub-menu-title') - .contains('More Fields...') - .click(); - // Insert field cy.get('.menu-entry-with-icon') .contains('Page Count') @@ -56,11 +55,6 @@ describe('Insert fields via insertion wizard.', function() { }); it('Insert date field.', function() { - // Open fields submenu - cy.get('.sub-menu-title') - .contains('More Fields...') - .click(); - // Insert field cy.get('.menu-entry-with-icon') .contains('Date') @@ -74,11 +68,6 @@ describe('Insert fields via insertion wizard.', function() { }); it('Insert time field.', function() { - // Open fields submenu - cy.get('.sub-menu-title') - .contains('More Fields...') - .click(); - // Insert field cy.get('.menu-entry-with-icon') .contains('Time') @@ -92,11 +81,6 @@ describe('Insert fields via insertion wizard.', function() { }); it('Insert title field.', function() { - // Open fields submenu - cy.get('.sub-menu-title') - .contains('More Fields...') - .click(); - // Insert field cy.get('.menu-entry-with-icon') .contains('Title') @@ -110,11 +94,6 @@ describe('Insert fields via insertion wizard.', function() { }); it('Insert author field.', function() { - // Open fields submenu - cy.get('.sub-menu-title') - .contains('More Fields...') - .click(); - // Insert field cy.get('.menu-entry-with-icon') .contains('First Author') @@ -129,11 +108,6 @@ describe('Insert fields via insertion wizard.', function() { }); it('Insert subject field.', function() { - // Open fields submenu - cy.get('.sub-menu-title') - .contains('More Fields...') - .click(); - // Insert field cy.get('.menu-entry-with-icon') .contains('Subject') diff --git a/cypress_test/integration_tests/mobile/writer/insert_formatting_mark_spec.js b/cypress_test/integration_tests/mobile/writer/insert_formatting_mark_spec.js index 3fe2d3b4c..245c3b283 100644 --- a/cypress_test/integration_tests/mobile/writer/insert_formatting_mark_spec.js +++ b/cypress_test/integration_tests/mobile/writer/insert_formatting_mark_spec.js @@ -13,6 +13,15 @@ describe('Insert formatting mark via insertion wizard.', function() { cy.get('#tb_actionbar_item_insertion_mobile_wizard') .should('not.have.class', 'disabled') .click(); + + // Open formatting marks + cy.get('.sub-menu-title') + .contains('Formatting Mark') + .click(); + + cy.get('.ui-content.level-0.mobile-wizard') + .should('be.visible') + .wait(100); }); afterEach(function() { @@ -20,12 +29,6 @@ describe('Insert formatting mark via insertion wizard.', function() { }); it('Insert non-breaking space.', function() { - // Open formatting marks - cy.get('.sub-menu-title') - .contains('Formatting Mark') - .click(); - - // Do the insertion cy.get('.menu-entry-no-icon') .contains('Non-breaking space') .click(); @@ -40,12 +43,6 @@ describe('Insert formatting mark via insertion wizard.', function() { }); it('Insert non-breaking hyphen.', function() { - // Open formatting marks - cy.get('.sub-menu-title') - .contains('Formatting Mark') - .click(); - - // Do the insertion cy.get('.menu-entry-no-icon') .contains('Non-breaking hyphen') .click(); @@ -60,12 +57,6 @@ describe('Insert formatting mark via insertion wizard.', function() { }); it('Insert soft hyphen.', function() { - // Open formatting marks - cy.get('.sub-menu-title') - .contains('Formatting Mark') - .click(); - - // Do the insertion cy.get('.menu-entry-no-icon') .contains('Soft hyphen') .click(); @@ -80,12 +71,6 @@ describe('Insert formatting mark via insertion wizard.', function() { }); it('Insert no-width optional break.', function() { - // Open formatting marks - cy.get('.sub-menu-title') - .contains('Formatting Mark') - .click(); - - // Do the insertion cy.get('.menu-entry-no-icon') .contains('No-width optional break') .click(); @@ -100,12 +85,6 @@ describe('Insert formatting mark via insertion wizard.', function() { }); it('Insert no-width no break.', function() { - // Open formatting marks - cy.get('.sub-menu-title') - .contains('Formatting Mark') - .click(); - - // Do the insertion cy.get('.menu-entry-no-icon') .contains('No-width no break') .click(); @@ -120,12 +99,6 @@ describe('Insert formatting mark via insertion wizard.', function() { }); it('Insert left-to-right mark.', function() { - // Open formatting marks - cy.get('.sub-menu-title') - .contains('Formatting Mark') - .click(); - - // Do the insertion cy.get('.menu-entry-no-icon') .contains('Left-to-right mark') .click(); @@ -140,12 +113,6 @@ describe('Insert formatting mark via insertion wizard.', function() { }); it('Insert right-to-left mark.', function() { - // Open formatting marks - cy.get('.sub-menu-title') - .contains('Formatting Mark') - .click(); - - // Do the insertion cy.get('.menu-entry-no-icon') .contains('Right-to-left mark') .click(); diff --git a/cypress_test/integration_tests/mobile/writer/shape_properties_spec.js b/cypress_test/integration_tests/mobile/writer/shape_properties_spec.js index 59217ebba..88fb512d3 100644 --- a/cypress_test/integration_tests/mobile/writer/shape_properties_spec.js +++ b/cypress_test/integration_tests/mobile/writer/shape_properties_spec.js @@ -47,6 +47,37 @@ describe('Change shape properties via mobile wizard.', function() { .click(); } + function openPosSizePanel() { + // Open mobile wizard + cy.get('#tb_actionbar_item_mobile_wizard') + .click(); + + // Do mirroring + cy.get('#PosSizePropertyPanel') + .click(); + + cy.get('.ui-content.level-0.mobile-wizard') + .should('be.visible') + .wait(100); + } + + function openLinePropertyPanel() { + // Open mobile wizard + cy.get('#tb_actionbar_item_mobile_wizard') + .click(); + + cy.get('#mobile-wizard') + .should('be.visible'); + + // Do mirroring + cy.get('#LinePropertyPanel') + .click(); + + cy.get('.ui-content.level-0.mobile-wizard') + .should('be.visible') + .wait(100); + } + it('Check default shape geometry.', function() { // Geometry cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g g g path') @@ -57,20 +88,11 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Change shape width.', function() { - // TODO: Two issues are found here with core/master - // 1) The mobile wizard keeps rerendering after it was already opened which leads - // detached item error. - // 2) Entering a value inside the spinbutton has no effect on the shape. + // TODO: Entering a value inside the spinbutton has no effect on the shape. if (Cypress.env('LO_CORE_VERSION') === 'master') return; - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Change width - cy.get('#PosSizePropertyPanel') - .click(); + openPosSizePanel(); cy.get('#selectwidth .spinfield') .clear() @@ -82,20 +104,11 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Change shape height.', function() { - // TODO: Two issues are found here with core/master - // 1) The mobile wizard keeps rerendering after it was already opened which leads - // detached item error. - // 2) Entering a value inside the spinbutton has no effect on the shape. + // TODO: Entering a value inside the spinbutton has no effect on the shape. if (Cypress.env('LO_CORE_VERSION') === 'master') return; - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Change width - cy.get('#PosSizePropertyPanel') - .click(); + openPosSizePanel(); cy.get('#selectheight .spinfield') .clear() @@ -107,19 +120,11 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Change size with keep ratio enabled.', function() { - // TODO: Two issues are found here with core/master - // 1) The mobile wizard keeps rerendering after it was already opened which leads - // detached item error. - // 2) Entering a value inside the spinbutton has no effect on the shape. + // TODO: Entering a value inside the spinbutton has no effect on the shape. if (Cypress.env('LO_CORE_VERSION') === 'master') return; - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - cy.get('#PosSizePropertyPanel') - .click(); + openPosSizePanel(); // Enable keep ratio cy.get('#ratio #ratio') @@ -139,17 +144,7 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Vertical mirroring', function() { - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Do mirroring - cy.get('#PosSizePropertyPanel') - .click(); - - cy.get('.ui-content.level-0.mobile-wizard') - .should('be.visible') - .wait(100); + openPosSizePanel(); cy.get('#FlipVertical') .click(); @@ -159,18 +154,7 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Horizontal mirroring', function() { - - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Do mirroring - cy.get('#PosSizePropertyPanel') - .click(); - - cy.get('.ui-content.level-0.mobile-wizard') - .should('be.visible') - .wait(100); + openPosSizePanel(); cy.get('#FlipHorizontal') .click(); @@ -180,16 +164,7 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Trigger moving backward / forward', function() { - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - cy.get('#PosSizePropertyPanel') - .click(); - - cy.get('.ui-content.level-0.mobile-wizard') - .should('be.visible') - .wait(100); + openPosSizePanel(); // We can't test the result, so we just trigger // the events to catch crashes, consoler errors. @@ -210,20 +185,11 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Change line color', function() { - // TODO: Two issues are found here with core/master - // 1) The mobile wizard keeps rerendering after it was already opened which leads - // detached item error. - // 2) Layout of the line properties panel is completely broken. + // TODO: Layout of the line properties panel is completely broken. if (Cypress.env('LO_CORE_VERSION') === 'master') return; - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Change line color - cy.get('#LinePropertyPanel') - .click(); + openLinePropertyPanel(); cy.get('#XLineColor') .click(); @@ -238,20 +204,11 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Change line style', function() { - // TODO: Two issues are found here with core/master - // 1) The mobile wizard keeps rerendering after it was already opened which leads - // detached item error. - // 2) Layout of the line properties panel is completely broken. + // TODO: Layout of the line properties panel is completely broken. if (Cypress.env('LO_CORE_VERSION') === 'master') return; - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Change line color - cy.get('#LinePropertyPanel') - .click(); + openLinePropertyPanel(); cy.get('#linestyle') .click(); @@ -267,20 +224,11 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Change line width', function() { - // TODO: Two issues are found here with core/master - // 1) The mobile wizard keeps rerendering after it was already opened which leads - // detached item error. - // 2) Layout of the line properties panel is completely broken. + // TODO: Layout of the line properties panel is completely broken. if (Cypress.env('LO_CORE_VERSION') === 'master') return; - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Change line width - cy.get('#LinePropertyPanel') - .click(); + openLinePropertyPanel(); cy.get('#linewidth .spinfield') .should('have.attr', 'readonly', 'readonly'); @@ -295,14 +243,7 @@ describe('Change shape properties via mobile wizard.', function() { helper.clearMobileWizardState(); - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - cy.get('#mobile-wizard') - .should('be.visible'); - - // Change line width - cy.get('#LinePropertyPanel') - .click(); + openLinePropertyPanel(); cy.get('#linewidth .minus') .click(); @@ -314,20 +255,11 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Change line transparency', function() { - // TODO: Two issues are found here with core/master - // 1) The mobile wizard keeps rerendering after it was already opened which leads - // detached item error. - // 2) Layout of the line properties panel is completely broken. + // TODO: Layout of the line properties panel is completely broken. if (Cypress.env('LO_CORE_VERSION') === 'master') return; - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Change line transparency - cy.get('#LinePropertyPanel') - .click(); + openLinePropertyPanel(); cy.get('#linetransparency .spinfield') .clear() @@ -341,20 +273,11 @@ describe('Change shape properties via mobile wizard.', function() { }); it('Arrow style items are hidden.', function() { - // TODO: Two issues are found here with core/master - // 1) The mobile wizard keeps rerendering after it was already opened which leads - // detached item error. - // 2) Layout of the line properties panel is completely broken. + // TODO: Layout of the line properties panel is completely broken. if (Cypress.env('LO_CORE_VERSION') === 'master') return; - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Change line transparency - cy.get('#LinePropertyPanel') - .click(); + openLinePropertyPanel(); cy.get('#linestyle') .should('be.visible'); diff --git a/cypress_test/integration_tests/mobile/writer/table_properties_spec.js b/cypress_test/integration_tests/mobile/writer/table_properties_spec.js index fed1ff70c..0e372c22e 100644 --- a/cypress_test/integration_tests/mobile/writer/table_properties_spec.js +++ b/cypress_test/integration_tests/mobile/writer/table_properties_spec.js @@ -22,6 +22,20 @@ describe('Change table properties / layout via mobile wizard.', function() { .should('not.have.class', 'disabled'); } + function openTablePanel() { + // Open mobile wizard + cy.get('#tb_actionbar_item_mobile_wizard') + .click(); + + // Open table panel + cy.get('#TableEditPanel') + .click(); + + cy.get('.ui-content.level-0.mobile-wizard') + .should('be.visible') + .wait(100); + } + function moveCursorToFirstCell() { helper.selectAllMobile(); @@ -43,13 +57,8 @@ describe('Change table properties / layout via mobile wizard.', function() { before('table.odt'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Insert row - cy.get('#TableEditPanel') - .click(); cy.get('#InsertRowsBefore') .click(); @@ -81,13 +90,8 @@ describe('Change table properties / layout via mobile wizard.', function() { before('table.odt'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Insert row - cy.get('#TableEditPanel') - .click(); cy.get('#InsertRowsAfter') .click(); @@ -119,13 +123,8 @@ describe('Change table properties / layout via mobile wizard.', function() { before('table.odt'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Insert column - cy.get('#TableEditPanel') - .click(); cy.get('#InsertColumnsBefore') .click(); @@ -157,13 +156,8 @@ describe('Change table properties / layout via mobile wizard.', function() { before('table.odt'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Insert column - cy.get('#TableEditPanel') - .click(); cy.get('#InsertColumnsAfter') .click(); @@ -195,13 +189,8 @@ describe('Change table properties / layout via mobile wizard.', function() { before('table.odt'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Delete row - cy.get('#TableEditPanel') - .click(); cy.get('#DeleteRows') .click(); @@ -233,13 +222,8 @@ describe('Change table properties / layout via mobile wizard.', function() { before('table.odt'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Delete column - cy.get('#TableEditPanel') - .click(); cy.get('#DeleteColumns') .click(); @@ -272,13 +256,8 @@ describe('Change table properties / layout via mobile wizard.', function() { before('table.odt'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Delete table - cy.get('#TableEditPanel') - .click(); cy.get('#DeleteTable') .click(); @@ -312,13 +291,8 @@ describe('Change table properties / layout via mobile wizard.', function() { cy.get('body').type('{shift}{downarrow}{rightarrow}'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Merge cells - cy.get('#TableEditPanel') - .click(); cy.get('#MergeCells') .scrollIntoView(); cy.get('#MergeCells') @@ -345,13 +319,8 @@ describe('Change table properties / layout via mobile wizard.', function() { before('table.odt'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Check current row height - cy.get('#TableEditPanel') - .click(); cy.get('#rowheight .spinfield') .should('have.attr', 'value', '0'); @@ -382,13 +351,8 @@ describe('Change table properties / layout via mobile wizard.', function() { before('table.odt'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); + openTablePanel(); - // Check current column width - cy.get('#TableEditPanel') - .click(); cy.get('#columnwidth .spinfield') .should('have.attr', 'value', '3.462'); @@ -423,13 +387,8 @@ describe('Change table properties / layout via mobile wizard.', function() { cy.get('body').type('{leftarrow}{shift}{downarrow}{downarrow}{downarrow}{rightarrow}'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - // Set minimal row height - cy.get('#TableEditPanel') - .click(); + openTablePanel(); cy.get('#SetMinimalRowHeight') .click(); @@ -457,13 +416,7 @@ describe('Change table properties / layout via mobile wizard.', function() { cy.get('body').type('{leftarrow}{shift}{downarrow}{downarrow}{downarrow}{rightarrow}'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Set optimal row height - cy.get('#TableEditPanel') - .click(); + openTablePanel(); cy.get('#SetOptimalRowHeight') .click(); @@ -501,13 +454,7 @@ describe('Change table properties / layout via mobile wizard.', function() { cy.get('body').type('{leftarrow}{shift}{downarrow}{downarrow}{downarrow}{rightarrow}'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Distribute rows - cy.get('#TableEditPanel') - .click(); + openTablePanel(); cy.get('#DistributeRows') .click(); @@ -545,13 +492,7 @@ describe('Change table properties / layout via mobile wizard.', function() { cy.get('body').type('{leftarrow}{shift}{downarrow}{downarrow}{downarrow}{rightarrow}'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Set minimal column width - cy.get('#TableEditPanel') - .click(); + openTablePanel(); cy.get('#SetMinimalColumnWidth') .click(); @@ -584,13 +525,7 @@ describe('Change table properties / layout via mobile wizard.', function() { cy.get('body').type('{leftarrow}{shift}{downarrow}{downarrow}{downarrow}{rightarrow}'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Set optimal column width - cy.get('#TableEditPanel') - .click(); + openTablePanel(); cy.get('#SetOptimalColumnWidth') .click(); @@ -626,13 +561,7 @@ describe('Change table properties / layout via mobile wizard.', function() { cy.get('body').type('{leftarrow}{shift}{downarrow}{downarrow}{downarrow}{rightarrow}'); - // Open mobile wizard - cy.get('#tb_actionbar_item_mobile_wizard') - .click(); - - // Distribute columns - cy.get('#TableEditPanel') - .click(); + openTablePanel(); cy.get('#DistributeColumns') .click(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits