diff --git a/cypress/pageobjects/rancher.po.ts b/cypress/pageobjects/rancher.po.ts index 413cf36f7..54767a73e 100644 --- a/cypress/pageobjects/rancher.po.ts +++ b/cypress/pageobjects/rancher.po.ts @@ -41,7 +41,8 @@ export class rancherPage { private boostrap_page_newPWRepeat = '[style=""] > .labeled-input > input'; // private boostrap_page_checkAgreeEULA = '#checkbox-eula > .checkbox-container > .checkbox-custom'; private boostrap_page_checkAgreeEULA = '[data-testid="setup-agreement"] > .checkbox-container > .checkbox-custom'; - private boostrap_page_confirmLogin = '.btn > span'; + // private boostrap_page_confirmLogin = '.btn > span'; + private boostrap_page_confirmLogin = 'button[data-testid="setup-submit"]'; private home_page_mainMenu = '.menu'; private home_page_virtualManagement = ':nth-child(7) > .option > div'; @@ -111,9 +112,9 @@ export class rancherPage { cy.intercept('GET', '/v1/management.cattle.io.setting?exclude=metadata.managedFields').as('getFirstLogin') .visit("/") .wait('@getFirstLogin').then(login => { - const data: any[] = login.response?.body.data; - const firstLogin = data.find(v => v?.id === "first-login"); - resolve(firstLogin.value === 'true'); + const data: any[] = login.response?.body.data; + const firstLogin = data.find(v => v?.id === "first-login"); + resolve(firstLogin.value === 'true'); }) .end(); }); @@ -123,23 +124,23 @@ export class rancherPage { * First time login using ssh */ public firstTimeLogin() { - cy.get(this.boostrap_page_boostrapPWInput).type(Cypress.env('rancherBootstrapPassword')).log('Input bootstrap secret'); - cy.get(this.boostrap_page_boostrapPWSubmit).click(); + cy.get(this.boostrap_page_boostrapPWInput).type(Cypress.env('rancherBootstrapPassword')).log('Input bootstrap secret'); + cy.get(this.boostrap_page_boostrapPWSubmit).click(); - // cy.log('Select a specific password to use') - cy.get(this.boostrap_page_radioSelectPW).click().log('Select a specific password to use'); + // // cy.log('Select a specific password to use') + // cy.get(this.boostrap_page_radioSelectPW).click().log('Select a specific password to use'); - // cy.log('Input new password') - cy.get(this.boostrap_page_newPWInput).type(constants.rancher_password).log('Input new password'); - // cy.log('Confirm password again') - cy.get(this.boostrap_page_newPWRepeat).type(constants.rancher_password).log('Confirm password again'); + // // cy.log('Input new password') + // cy.get(this.boostrap_page_newPWInput).type(constants.rancher_password).log('Input new password'); + // // cy.log('Confirm password again') + // cy.get(this.boostrap_page_newPWRepeat).type(constants.rancher_password).log('Confirm password again'); - // cy.log('Agree EULA') - cy.get(this.boostrap_page_checkAgreeEULA).click().log('Agree EULA'); + // cy.log('Agree EULA') + cy.get(this.boostrap_page_checkAgreeEULA).click().log('Agree EULA'); - cy.get(this.boostrap_page_confirmLogin).click().log('Continue to access rancher'); + cy.get(this.boostrap_page_confirmLogin).click().log('Continue to access rancher'); - cy.url().should('include', 'dashboard/home').log('Login Success'); + cy.url().should('include', 'dashboard/home').log('Login Success'); } /** @@ -186,7 +187,7 @@ export class rancherPage { cy.get(this.clusterLink).click().then(() => { cy.log('Open virtualization dashboard'); }); -} + } public visit_clusterManagement() { cy.visit(constants.rancher_clusterManagmentPage); @@ -202,8 +203,8 @@ export class rancherPage { public importHarvester() { cy.visit('/home') - cy.get(this.home_page_mainMenu).click(); - cy.get(this.home_page_virtualManagement).should('contain', 'Virtualization Management').click(); + // cy.get(this.home_page_mainMenu).click(); + // cy.get(this.home_page_virtualManagement).should('contain', 'Virtualization Management').click(); cy.visit(constants.virtualManagePage) cy.get(this.virtual_page_importButton).should('contain', 'Import Existing').click(); cy.get(this.virtual_page_clusterName).type('harvester') diff --git a/cypress/testcases/rancher/rancher_integration.spec.ts b/cypress/testcases/rancher/rancher_integration.spec.ts index 0289324c0..f78c75406 100644 --- a/cypress/testcases/rancher/rancher_integration.spec.ts +++ b/cypress/testcases/rancher/rancher_integration.spec.ts @@ -131,11 +131,40 @@ describe('Harvester import Rancher', function () { }); }) + let isHarvFirstTimeLogin: boolean = false; + before(async () => { + isHarvFirstTimeLogin = await LoginPage.isFirstTimeLogin(); + + }) + it('Harvester import Rancher', () => { - cy.login(); + // cy.login(); + if (isHarvFirstTimeLogin) { + const page = new LoginPage(); + page.visit() + .selectSpecificPassword() + .checkTelemetry(false) + .checkEula(true) + .inputPassword() + .submitBtn.click(); + + page.validateLogin(); + } else { + cy.login(); + } rancher.registerRancher(); }); +}) + +describe('Rancher integration', function () { + beforeEach(() => { + cy.fixture('rancher').then((data) => { + rData = data; + }); + }) + + it('Check Harvester Cluster Status', { baseUrl: constants.rancherUrl }, () => { // cy.login(); cy.visit('/'); @@ -162,7 +191,8 @@ describe('Harvester import Rancher', function () { rancher.open_virtualizationDashboard(); virtualizationDashboard.validateClusterName(); - + }); -}) \ No newline at end of file +}) +