使用 status:401 的请求和弹出消息失败

Request with status:401 and popup message fails

有 401 请求的断言,它通过了,但也想确认出现的弹出错误(那部分失败)。以下是页面布局和测试结果的截图:

以及写的代码:

it('should not be loaded any data without mocks', () => {
cy.visit('/partURL');
cy.server();
cy.route({
  method: 'GET',
  url: '**/forms?workspace?**',
}).as('myUrlAlias');
cy.wait('@myUrlAlias')
  .its('status')
  .should('eq', 401);
 cy.get('div.inner_page__content div.embedded_alert__wrapper img')
  .should('have.attr', 'src')
  .and('include', 'alt');
  });

在我看来,您在目标元素上的链是错误的。 .and() checks for assertion on the original element, if you wana check the attr - you should chain a second .should()。这里有一个替代想法:

it('should not be loaded any data without mocks', () => {
    cy.visit('/partURL');
    cy.server();
    cy.route({
        method: 'GET',
        url: '**/forms?workspace?**',
    }).as('myUrlAlias');
    cy.wait('@myUrlAlias')
        .its('status')
        .should('eq', 401);
    cy.get('img[alt="Warning icon"]')
        .should('exist')
});