【问题标题】:Cypress import spec file赛普拉斯导入规范文件
【发布时间】:2020-03-21 09:54:43
【问题描述】:

我想将规范文件导入到一个主要测试中

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

但规范文件需要看起来像

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

我不能单独运行这个测试,any1 可以帮忙吗?

【问题讨论】:

    标签: testing cypress


    【解决方案1】:

    您好,我找到了解决方案

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

    它允许我从这里导入测试并单独运行测试

    【讨论】:

      【解决方案2】:

      建议:从 cypress 常规测试中,我建议您将要重用的测试/模块化概念放入 CYPRESS COMMANDS(文件为 cypress/support/commands.js)。这样,您可以将测试存储为自定义命令,然后在项目中的任何位置使用“cy.commandName()”调用它。

      【讨论】:

        猜你喜欢
        • 2021-10-13
        • 2021-11-04
        • 2021-05-31
        • 2020-10-26
        • 1970-01-01
        • 1970-01-01
        • 2022-09-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多