如何验证POST xhr

时间:2018-11-06 14:08:15

标签: typescript cypress

)

如何验证此xhr帖子是否被中止(在这种情况下,这应该是积极的情况,测试应该通过吗?

3 个答案:

答案 0 :(得分:0)

好,我解决了。

describe('Register', function() {
  it('Step 0', function() {
    cy.visit('localhost:4200')
  })
  it('Email validation', function() {
    cy.server();
    cy.route('POST', '**sign_in').as('signin');

    cy.get('[data-cy="signup-input"]').type('test@test.pl')
    cy.get('[data-cy=input-password]').type('test123456{enter}')
    cy.get('[data-cy="email-error1"]').should('be.visible')

    cy.wait('@signin').its('status').should('equal', 401)


  })
})

答案 1 :(得分:0)

也可以使用以下期望期望断言来完成:

cy.wait('@signin').then((xhr) => {
    expect(xhr.status).to.equal(401);
});

您可以详细了解in cypress documentation for cy.wait()。他们在XHR Assertions examples github project中也有大量的示例。

答案 2 :(得分:0)

这是解决它的新方法:

  cy.intercept(
    {
    method:'GET',
    url:'/api/channels/e5932cce
    }).as('loginLoaded')
 
  cy.get("@loginLoaded").then((xhr) => {
    cy.wait('@loginLoaded').its('response.statusCode').should('eq', 401)
    })