正在等待页面加载-Cypress

我遇到问题,因为页面未完全加载。我尝试了cy.wait(1000)方法,我确实认为这不是一个好的解决方案,但仍然不起作用,页面未完全加载。

这是我正在尝试测试的网站https://www.24mx.ie/。这个 代码在文件homePage.js中。

class HomePage {
  static loadHomePage() {
    cy.visit(Cypress.env('url') + '.ie/');
    cy.wait(1000)      
  }

  static acceptCookies() {
    cy.get('div.m-button.m-button--navigation.m-button--xs.qa-consent-agree-btn.ng-tns-c95-8').click();
  }
}

export default HomePage

文件homePage.spec.js中的代码

import HomePage from '../pageObjects/homePage'

describe('Home Page Test', function () {
    it('Home Page TC', function () {
        HomePage.loadHomePage();
    })

    it('Accepting Cookies TC', function () {
        HomePage.acceptCookies();
    })

})

这是测试的打印屏幕:


解决方案

若要确保页面已成功加载,您可以断言任何元素都是可见的。由于页面加载后您单击的是Accept Cookie按钮,因此我建议将其断言为Visible,如下所示:

class HomePage {
  static loadHomePage() {
    cy.visit(Cypress.env('url') + '.ie/');
    cy.get('[class*=qa-consent-agree-btn]', {
      timeout: 5000
    }).should('be.visible') //Make sure Cookie Accept button is visible with timeout of 5 seconds. You can increase timeout as required.     
    }

    static acceptCookies() {
      cy.get('[class*=qa-consent-agree-btn]').click();
    }
  }

  export default HomePage

相关文章