Cypress 测试通过`cypress open`,但失败`cypress run`

时间:2021-01-22 12:57:31

标签: cypress

我编写了 e2e 测试。如果我以开放的柏树开始它们,它们就会一直过去。 但是如果我使用这个命令:cypress run --browser chrome --headed --no-exit --spec 'tests/e2e/specs/Samples.ts。 我收到许多不同的错误。这些错误并不相似。其中一些我不知道如何解决。 还有一个重要的事实:如果我打开开发人员工具并重新启动测试,所有测试都会通过。 Chrome 和 Firefox 也是如此。 我曾尝试使用不同版本的柏树,但无济于事。 我想错误类型在我的问题中并不重要,但我将解释其中之一。 enter image description here 第8步后,cypress报告页面已加载并重定向到登录页面。这可能意味着 带有令牌的 localStorage 被意外清除。如果我打开开发人员工具并重新启动测试,所有测试都会通过。 测试非常简单。另外,我使用了两个自定义函数。

describe('Samples', () => {
  beforeEach(() => {
    cy.login();
  });

  afterEach(() => {
    cy.deleteAccount();
  });

  context('Create sample', () => {
    const SAMPLE_DATA = {
      name: 'Test',
      description: 'Description',
      compound: 'Compound1; Compound1',
    };

    afterEach(() => {
      cy.get('[data-test-id=btn-create]').click();
      cy.location('hash').should('match', /\/samples\/\d+$/);
      // archive
      cy.get('[data-test-id=btn-more-menu]').click();
      cy.get('[data-test-id=btn-archive]').click();
      cy.get('[data-test-id=btn-restore]');
    });

    it('should create sample without device', () => {
      cy.visit(urlPages.app.SAMPLES);
      cy.get('[data-test-id=btn-show-create-sample-modal]').click();
      cy.get('[data-test-id=input-name]').type(SAMPLE_DATA.name);
      cy.get('[data-test-id=input-description]').type(SAMPLE_DATA.description);
      cy.get('[data-test-id=input-compounds]').type(SAMPLE_DATA.compound);
    });
  });
})

0 个答案:

没有答案