赛普拉斯:运行 在 2 个不同的 url 上进行相同的测试(以避免复制粘贴相同的代码)

Cypress : Run same test on 2 different url (to avoid copy paste same code)

我想知道是否有办法重新运行相同的测试两次(第二次使用不同的 url)以避免复制粘贴完全相同的代码应该看起来像这样:

describe('...', () => {
   before(() => cy.visit('/))

   describe('Series of tests ...', () => {
      // Tests goes here
   })

   after(() => {
     cy.visit('other url')
     cy.rerun() // Re run the describe right above with the new url is there a way to do something like this ?
   })
})

您可以使用 Cypress Lodash 来迭代一定次数。

const urls = ['url1', 'url2'];

describe('...', () => {
  Cypress._.times(urls.length, ((index) => {
    it('Runs the test', () => {
      cy.visit(url[index]);
      // rest of test
    });
  });
});

直接迭代 url 更容易,

const urls = ['url1', 'url2'];

describe('...', () => {

  urls.forEach(url => {

    it('Runs the test', () => {
      cy.visit(url);
      // rest of test
    });
  });
});