首页 > 解决方案 > 赛普拉斯如何简化我的代码,beforeeach?

问题描述

我有这个代码:

cy.get('[data-cy=typ_pojisteni]').select('POV + HAV', {force: true}).should('have.value', '2')
        cy.get('[type="checkbox"]:visible').check().parent()
        cy.get(':checkbox').should('be.checked')
        cy.get('[type="checkbox"]:visible').uncheck().parent()
        cy.get(':checkbox:visible').should('not.to.be.checked')
        cy.get('[data-cy=typ_pojisteni]').select('POV', {force: true}).should('have.value', '0')
        cy.get('[type="checkbox"]:visible').check().parent()
        cy.get(':checkbox').should('be.checked')
        cy.get('[type="checkbox"]:visible').uncheck().parent()
        cy.get(':checkbox:visible').should('not.to.be.checked')

我能写得更轻松吗?没有重复代码?像之前每个?

标签: javascriptautomated-testscypress

解决方案


您的测试不包含可以在beforeEach. 我建议至少将它分成两个it块,以使其更具可读性!

   it('should .....', () => {
        cy.get('[data-cy=typ_pojisteni]').select('POV + HAV', { force: true }).should('have.value', '2');
        cy.get('[type="checkbox"]:visible').check().parent();
        cy.get(':checkbox').should('be.checked');
        cy.get('[type="checkbox"]:visible').uncheck().parent();
        cy.get(':checkbox:visible').should('not.to.be.checked');
    });

    it('should ....', () => {
        cy.get('[data-cy=typ_pojisteni]').select('POV', { force: true }).should('have.value', '0');
        cy.get('[type="checkbox"]:visible').check().parent();
        cy.get(':checkbox').should('be.checked');
        cy.get('[type="checkbox"]:visible').uncheck().parent();
        cy.get(':checkbox:visible').should('not.to.be.checked');
    });

推荐阅读