diff --git a/pages/decisionTables.js b/pages/decisionTables.js index c14301d..2bb6259 100644 --- a/pages/decisionTables.js +++ b/pages/decisionTables.js @@ -119,6 +119,7 @@ export class DecisionTable { clickOnDeleteDecisionTable() { cy.xpath(selectors.deleteDTbutton).first().should('exist').click(); + cy.xpath(selectors.confirmDeleteButton, {timeout: 2000}).first().should('exist').click(); } copyTable(decisionTableName, newNameDecisionTable) { diff --git a/pages/execution.js b/pages/execution.js index bde1423..e6119e8 100644 --- a/pages/execution.js +++ b/pages/execution.js @@ -8481,6 +8481,6 @@ export class Execution { } verifyDefaultWelcomeScreen(){ - cy.get('#main').should('contain','Welcome Back') + cy.get('#navbar2').find('a').filter(':contains("Inbox")').first().should("exist") } } diff --git a/pages/processLaunchpad.js b/pages/processLaunchpad.js index a89fcb3..f9af84d 100644 --- a/pages/processLaunchpad.js +++ b/pages/processLaunchpad.js @@ -194,11 +194,11 @@ export class ProcessLaunchpad { } searchProcess(nameProcess,findProcess=true){ - cy.get(selectors.launch_searchProcess).should("be.visible"); + cy.xpath(selectors.launch_searchProcess).should("be.visible"); cy.wait(3000); - cy.get(selectors.launch_searchProcess).type(nameProcess).should("have.value",nameProcess); + cy.xpath(selectors.launch_searchProcess).type(nameProcess).should("have.value",nameProcess); cy.wait(3000); - cy.get(selectors.launch_searchProcessButton).click(); + cy.xpath(selectors.launch_searchProcessButton).click(); if(findProcess) cy.xpath(selectors.launch_cardProcess.replace("processName",nameProcess)).should("be.visible"); else @@ -274,12 +274,13 @@ export class ProcessLaunchpad { click_accordeonProcessBrowser(name){ cy.xpath('//div[contains(text(), "' + name + '")]') .should("not.have.class", "tw-opacity-0", { timeout: 10000 }) - //.should("be.visible") - .click(); + .click({force: true}); } click_optionInsideAccordeonProcessBrowser(option){ - cy.xpath('//div[@class="list-group"]//div[contains(text(),"' + option + '")]').should("be.visible").click(); + cy.xpath('//div[@class="list-group"]//div[contains(text(),"' + option + '")]') + .should("not.have.class", "tw-opacity-0", { timeout: 10000 }) + .click({force: true}); } waitLaunchPageLoad(){ cy.get('[id="pie-chart"]').should('be.visible'); diff --git a/pages/processTesting.js b/pages/processTesting.js index 9ce1fcd..b292923 100644 --- a/pages/processTesting.js +++ b/pages/processTesting.js @@ -20,13 +20,13 @@ export class ProcessTesting { let iframeSelector = iframeOption === 'a' ? selectors.iframeA : selectors.iframeB switch (alternative) { case "Alternative A": - cy.iframe(iframeSelector).find(selectors.alternativeField).select('Alternative A').should('have.value', 'A'); + cy.iframe(iframeSelector).xpath(selectors.alternativeField).select('Alternative A').should('have.value', 'A'); break; case "Alternative B": - cy.iframe(iframeSelector).find(selectors.alternativeField).select('Alternative B').should('have.value', 'B'); + cy.iframe(iframeSelector).xpath(selectors.alternativeField).select('Alternative B').should('have.value', 'B'); break; case "Advanced": - cy.iframe(iframeSelector).find(selectors.alternativeField).select('Advanced').should('have.value', 'Advanced'); + cy.iframe(iframeSelector).xpath(selectors.alternativeField).select('Advanced').should('have.value', 'Advanced'); default: break; } @@ -68,7 +68,7 @@ export class ProcessTesting { //Additional Data from Modeler addAdditionalDataFromModeler(data, iframeOption = 'a') { let iframeSelector = iframeOption === 'a' ? selectors.iframeA : selectors.iframeB - cy.iframe(iframeSelector).find(selectors.additionalData).type('{backspace}').type('{backspace}').type(`{{}${data}}`).should('contain', `{${data}}`); + cy.iframe(iframeSelector).xpath(selectors.additionalData).type('{backspace}').type('{backspace}').type(`{{}${data}}`).should('contain', `{${data}}`); } //Bypass Script task and Data Connectors from Modeler @@ -1024,32 +1024,28 @@ export class ProcessTesting { //Alternative selectAlternativeFromProcessConfigure(alternative) { - cy.get('.modal-content', { timeout: 30000 }) - .should('exist') - .should('be.visible') - .first() - .within(() => { - cy.get('select[id="select-alternative"]').invoke('attr', 'disabled').then(($Alternative) => { - cy.log($Alternative) - if ($Alternative == 'disabled') { - return - } else { - switch (alternative) { - case "Alternative A": - cy.get(selectors.alternativeField).select('Alternative A').should('have.value', 'A'); - break; - case "Alternative B": - cy.get(selectors.alternativeField).select('Alternative B').should('have.value', 'B'); - break; - case "As configured in the process": - cy.get(selectors.alternativeField).select('As configured in the process').should('have.value', 'AB'); - break; - default: - break; - } - } - }) - }) + cy.xpath(selectors.alternativeField) + .should("exist") + .invoke('attr', 'disabled').then(($Alternative) => { + cy.log($Alternative) + if ($Alternative == 'disabled') { + return + } else { + switch (alternative) { + case "Alternative A": + cy.xpath(selectors.alternativeField).select('Alternative A').should('have.value', 'A'); + break; + case "Alternative B": + cy.xpath(selectors.alternativeField).select('Alternative B').should('have.value', 'B'); + break; + case "As configured in the process": + cy.xpath(selectors.alternativeField).select('As configured in the process').should('have.value', 'AB'); + break; + default: + break; + } + } + }) } //Starting point from process configure @@ -1076,10 +1072,10 @@ export class ProcessTesting { selectManualOrAdvanced(option) { switch (option) { case "Manual": - cy.get(selectors.manualBtn).click(); + cy.xpath(selectors.manualBtn).click(); break; case "Advanced": - cy.get(selectors.advancedBtn).click(); + cy.xpath(selectors.advancedBtn).click(); break; default: break; @@ -1088,11 +1084,11 @@ export class ProcessTesting { //Advanced fillPMQL(query) { - cy.get(selectors.pmqlField).type(query).should('have.value', query); + cy.xpath(selectors.pmqlField).type(query).should('have.value', query); } clickOnBrowseBtn() { - cy.get(selectors.browseBtn).click(); + cy.xpath(selectors.browseBtn).click(); } //Scenarios from process configure @@ -1167,7 +1163,7 @@ export class ProcessTesting { //Additional Data from process configure addAdditionalData(data) { - cy.get(selectors.additionalData).type('{backspace}').type('{backspace}').type(`{{}${data}}`).should('contain', `{${data}}`); + cy.xpath(selectors.additionalData).type('{backspace}').type('{backspace}').type(`{{}${data}}`).should('contain', `{${data}}`); } //Bypass Script task and Data Connectors from process configure @@ -1245,13 +1241,13 @@ export class ProcessTesting { switch (manualOrAdvanced) { case "Manual": this.selectManualOrAdvanced('Manual'); - cy.get(selectors.manualBtn) + cy.xpath(selectors.manualBtn) .should('have.class', 'active') .should('be.visible'); break; case "Advanced": this.selectManualOrAdvanced('Advanced'); - cy.get(selectors.advancedBtn) + cy.xpath(selectors.advancedBtn) .should('have.class', 'active') .should('be.visible'); if (query) { diff --git a/selectors/decisionTables.js b/selectors/decisionTables.js index 1fb68d7..8bd9f8d 100644 --- a/selectors/decisionTables.js +++ b/selectors/decisionTables.js @@ -36,8 +36,8 @@ export default{ //Configure Decision Table nameFieldInconfigureDT: '//label[text()="Name"]/following-sibling::input', descriptionFieldInconfigureDT: '//label[text()="Description"]/following-sibling::textarea', - saveButtonInconfigureDT: '//button[contains(text(),"Save")]', - cancelButtonInconfigureDT:'//button[contains(text(),"Cancel")]', + saveButtonInconfigureDT: '//div[@id="formDecisionTable"]//button[contains(text(),"Save")]', + cancelButtonInconfigureDT:'//div[@id="formDecisionTable"]//button[contains(text(),"Cancel")]', //Delete Decision Table confirmDeleteButton:'//button[contains(text(),"Confirm")]', diff --git a/selectors/processLaunchPad.js b/selectors/processLaunchPad.js index 26ffe81..29568b3 100644 --- a/selectors/processLaunchPad.js +++ b/selectors/processLaunchPad.js @@ -15,8 +15,8 @@ export default { modalSettings: '//div[contains(@id,"launchpadSettingsModal")][@class="modal-body"]', launch_category: '//*[@class="menu"]//*[contains(text(),"category")]', - launch_searchProcess: '[class="processes-info"]>* [class="search"]>* input', - launch_searchProcessButton: '[title="Search Processes"]', + launch_searchProcess: '//div[contains(@class, "search")]//input[@class="search-box form-control"]', + launch_searchProcessButton: '//button[@title="Search Processes"]', launch_cardProcess: '//*[contains(text(),"processName")]', launch_cardCategory: '//button[contains(text(),"categoryName")]', launch_startProcessButton: '//*[contains(text(),"Start this")]', @@ -30,7 +30,7 @@ export default { launchPadSettingOption: '//a[contains(., "Launchpad Settings")]', inputSearchCategories: '//input[@placeholder="Search Categories"]', categoryFound: "//div['#infinite-list']/div[contains(text(),'category')]", - bookMarkedSuccessAlert: '[class="alert d-none d-lg-block alertBox alert-dismissible alert-success"]', + bookMarkedSuccessAlert: '//*[class="alert d-none d-lg-block alertBox alert-dismissible alert-success"]', optionLaunchPad: '//a//span[contains(text(),"option")]', dragAndClickHere: "//span[contains(text(),'Drag or click here')]", loadAnImage: '//div[@class="input-file-custom dropdown-toggle"]', @@ -43,6 +43,6 @@ export default { deleteVideo: '//div/button[@class="btn btn-delete-embed btns-popover"]', embedMediaDeleteAlert: '//span[contains(text(), "The embed media was deleted")]', inputLaunchScreen: '//div/input[@placeholder="Type to search Screen"]', - cardLaunchProcess: '[class="card-text"]' + cardLaunchProcess: '//*[class="card-text"]' } diff --git a/selectors/processTesting.js b/selectors/processTesting.js index 586cc53..29e2fe7 100644 --- a/selectors/processTesting.js +++ b/selectors/processTesting.js @@ -6,7 +6,7 @@ export default { runTestBtnInModeler: '//div[@data-cy="ellipsis-menu"]//ul//li//*[contains(text(),"Run Test")]', //Alternative labelAlternative: '//label[text()="Alternative *"]', - alternativeField: '[id="select-alternative"]', + alternativeField: '//*[@id="select-alternative"]', expressionInput: '[id="expression"]', typeOfRun: '[id="select-type-run"]', //Starting Point @@ -25,7 +25,7 @@ export default { inputScenario: 'input[id="scenario-select"]', itemScenario: '//label[text()="Scenario"]/parent::div//div[@class="multiselect__content-wrapper"]//li[2]', //Additional data - additionalData: '.view-lines', + additionalData: '//*[@class="view-lines monaco-mouse-cursor-text"]', runTestBtn: '//button[contains(text(),"Run")]', cancelBtn: '//footer//button[text()[normalize-space()="Cancel"]]', //Check to bypass Script tasks and Data Connectors @@ -42,10 +42,10 @@ export default { searchScenario: '#scenarios-edit-tab > :nth-child(1) > #search-bar > :nth-child(1) > .flex-grow-1 > #search > .input-group > .form-control', //Manual or Advanced - manualBtn: '[data-test="test-run-btn-manual"]', - advancedBtn: 'button[data-test="test-run-btn-advanced"]', - pmqlField: '[data-test="test-run-pmql-input"]', - browseBtn: '[data-test="test-run-pmql-browse"]', + manualBtn: '//*[@data-test="test-run-btn-manual"]', + advancedBtn: '//*[@data-test="test-run-btn-advanced"]', + pmqlField: '//*[@data-test="test-run-pmql-input"]', + browseBtn: '//*[@data-test="test-run-pmql-browse"]', //Scenario Creation labelScenarioCreationType: '//legend[text()="Scenario Creation Type *"]',