cypress read xml file code example

Example: cypress read xml file

describe('Sitemap', () => {
  // initialize the url array
  let urls = []

  // be sure to get the url list before executing any tests
  before(async () => {
    // getch the sitemap content
    const response = await cy.request('sitemap.xml')

    // convert sitemap xml body to an array of urls
    urls = Cypress.$(response.body)
      // according to the sitemap.xml spec,
      // the url value should reside in a <loc /> node
      // https://www.google.com/sitemaps/protocol.html 
      .find('loc')
      // map to a js array
      .toArray()
      // get the text of the <loc /> node
      .map(el => el.innerText)
  })

  it('should succesfully load each url in the sitemap', () => {
    urls.forEach(cy.visit)
  })
})