首页 > 解决方案 > 状态为:401 且弹出消息失败的请求

问题描述

对 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');
  });

在此处输入图像描述

标签: javascriptxmlhttprequestcypressassert

解决方案


在我看来,您在目标元素上的链是错误的。.and() 检查原始元素的断言,如果你想检查 attr - 你应该链接第二个.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')
});

推荐阅读