cy.fixture()

To load a fixture, use the cy.fixture() command.

cy.server()

cy.fixture('example.json').as('comment')

cy.route(/comments/, '@comment').as('getComment')

// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.fixture-btn').click()

cy.wait('@getComment').its('responseBody')
  .should('have.property', 'name')
  .and('include', 'Using fixtures to represent data')

// you can also just write the fixture in the route
cy.route(/comments/, 'fixture:example.json').as('getComment')

// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.fixture-btn').click()

cy.wait('@getComment').its('responseBody')
  .should('have.property', 'name')
  .and('include', 'Using fixtures to represent data')

// or write fx to represent fixture
// by default it assumes it's .json
cy.route(/comments/, 'fx:example').as('getComment')

// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.fixture-btn').click()

cy.wait('@getComment').its('responseBody')
  .should('have.property', 'name')
  .and('include', 'Using fixtures to represent data')

cy.readFile()

To read a file's content, use the cy.readFile() command.

cy.readFile('cypress.json').then(function(json) {
  expect(json).to.be.an('object')
})

cy.writeFile()

To write to a file with the specified contents, use the cy.writeFile() command.

cy.request('https://jsonplaceholder.typicode.com/users').then(function(response){
  cy.writeFile('cypress/fixtures/users.json', response.body)
})
cy.fixture('users').should(function(users){
  expect(users[0].name).to.exist
})

// JavaScript arrays and objects are stringified and formatted into text.
cy.writeFile('cypress/fixtures/profile.json', { id: 8739, name: 'Jane', email: '[email protected]'})
cy.fixture('profile').should(function(profile){
  expect(profile.name).to.eq('Jane')
})