Kako zabilježiti mrežni promet preglednika (XHR) pomoću Cypressa

Cypress je sljedeća generacija front-end alata za testiranje izrađena za suvremeni web. Cypress ima puno lijepih značajki koje olakšavaju automatizaciju preglednika.

Jedna od tih značajki je sposobnost hvatanja mrežnog prometa. Ovaj post daje primjer kako uhvatiti XHR mrežni promet tijekom slanja obrasca.

Snimite mrežni promet (XHR) s Cypressom

describe('Capture browser network traffic', function () { context('Login functionality', () => {
it('Dscro should be able to login', () => {
cy.server()
//This is the post call we are interested in capturing
cy.route('POST', 'https://loginservice.example.net/login/json/authenticate').as('login')
cy.visit('https://example.net/login')
cy.get('#email').type('tester@gmail.com')
cy.get('#password').type('Passw0rd1')
cy.get('button[type=submit]').click()
cy.wait('@login')
//Assert on XHR
cy.get('@login').then(function (xhr) {
expect(xhr.status).to.eq(200)
expect(xhr.requestHeaders).to.have.property('Content-Type')
expect(xhr.requestHeaders).to.have.property('X-Password', 'Passw0rd1')
expect(xhr.method).to.eq('POST')
expect(xhr.responseBody).to.have.property('tokenId')
})
}) }) })

Pročitajte više na Cypressu Čempres