Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cypress import spec file

I would like to import spec files to the one main test

import heroBannerTest from './hero-banner.spec'
import fabTest from './fab.spec'
import dealerLocatorTest from './dealer-locator.spec'

let urls = getUrls()
urls.forEach((url) => {
  describe(url, () => {
    it(`Visit Page`, () => {
      cy.visit(url, { timeout: 30000 })
    })
    it(`Hero Banner`, () => {
      heroBannerTest()
    })
    it(`FAB button`, () => {
      fabTest()
    })
    it(`Dealer Locator Link`, () => {
      dealerLocatorTest()
    })
  })
})

but spec file need to look like

export default function() {
  cy.get('.main-nav-list', { timeout: 3000 })
  cy.get('.main-nav-list [class^=icon-map-pin] a', { timeout: 10000 })
  .click()
  cy.get('#cms20 .results-sidebar.map-locations > ul li')
    .should('exist')
  })
}

and I can't run this test separately any1 can help ?

like image 726
Artur Brzozowski Avatar asked Sep 14 '25 23:09

Artur Brzozowski


1 Answers

Hi I have found solution for this

import dealerLocatorTest from './dealer-locator.spec'
import getUrls from '../fixtures/get-urls'

export default function() {
  cy.get('.main-nav-list', { timeout: 3000 })
  cy.get('.main-nav-list [class^=icon-map-pin] a', { timeout: 10000 })
  .click()
  cy.get('#cms20 .results-sidebar.map-locations > ul li')
    .should('exist')
  }

let urls = getUrls()

urls.forEach((url) => {
  describe(url, () => {
    it(`Dealer Locator Test`, () => {
      cy.visit(url, { timeout: 30000 })
      dealerLocatorTest()
    })
  })
})

it allows me to import test from here and run test separately

like image 92
Artur Brzozowski Avatar answered Sep 16 '25 18:09

Artur Brzozowski



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!