Chciałbym importować pliki specyfikacji do jednego głównego testu

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()
    })
  })
})

Ale specyfikacja musi wyglądać

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')
  })
}

I nie mogę uruchomić tego testu osobno, może pomóc?

0
Artur Brzozowski 21 marzec 2020, 12:54

2 odpowiedzi

Najlepsza odpowiedź

Cześć znalazłem rozwiązanie

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')
  }

import dealerLocatorTest from './dealer-locator.spec'
import getUrls from '../fixtures/get-urls'
let urls = getUrls()

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

Umożliwia mi importowanie testu stąd i uruchomić test osobno

0
Artur Brzozowski 22 marzec 2020, 15:22

Sugestia: Z Cypress Conception Testing, sugerowałbym, abyś umieścić test, który chcesz ponownie wykorzystać / koncepcję modułowości do poleceń cyprysowych (plik jest Cypress / Support / Commands.js). W ten sposób przechowujesz test jako polecenie niestandardowe i po prostu zadzwonisz do nim za pomocą "Cy.comMandName ()" Gdzie kiedykolwiek chcesz w swoim projekcie.

0
Emmanuel Onah 2 listopad 2020, 09:16