Spec-Zone.ru › Cypress

API перед запуском

Событие before:run срабатывает перед началом выполнения. При запуске Cypress через cypress open, событие будет срабатывать при открытии проекта.

Событие будет срабатывать каждый раз, когда cypress run выполняется. В результате, если вы запускаете свои тесты в параллельном режиме, событие будет срабатывать один раз для каждой машины, на которой выполняются тесты.

Синтаксис

⚠️ Этот код является частью файла плагинов и, следовательно, выполняется в среде Node.js. Вы не можете вызывать Cypress или cy команды в этом файле, но у вас есть прямой доступ к файловой системе и остальной операционной системе.

⚠️ При запуске через cypress open, событие before:run срабатывает только в том случае, если включен флаг experimentalInteractiveRunEvents.

on('before:run', (details) => {
  /* ... */
})

данные (Объект)

Подробности о выполнении, включая конфигурацию проекта, информацию о системе и версию Cypress. Более подробная информация предоставляется при запуске через cypress run.

Использование

Вы можете вернуть промис из обработчика события before:run , и он будет ожидан перед тем, как Cypress продолжит выполнение ваших тестов.

Вывод браузера и количества тестов, которые будут выполнены

module.exports = (on, config) => {
  on('before:run', (details) => {
    // details will look something like this when run via `cypress run`:
    // {
    //   config: {
    //     projectId: '12345',
    //     baseUrl: 'http://example.com/',
    //     viewportWidth: 1000,
    //     viewportHeight: 660,
    //     // ...more properties...
    //   },
    //   browser: {
    //     name: 'electron',
    //     version: '59.0.3071.115',
    //     // ...more properties...
    //   },
    //   system: {
    //     osName: 'darwin',
    //     osVersion: '16.7.0',
    //   }
    //   cypressVersion: '6.1.0',
    //   specs: [
    //     {
    //       name: 'login_spec.js',
    //       relative: 'cypress/integration/login_spec.js',
    //       absolute: '/Users/janelane/app/cypress/integration/login_spec.js',
    //     },
    //     // ... more specs
    //   ],
    //   specPattern: [
    //     '**/*_spec.js'
    //   ],
    //   parallel: false,
    //   group: 'group-1',
    //   tag: 'tag-1'
    // }

    // details will look something like this when run via `cypress open`:
    // {
    //   config: {
    //     projectId: '12345',
    //     baseUrl: 'http://example.com/',
    //     viewportWidth: 1000,
    //     viewportHeight: 660,
    //     // ...more properties...
    //   },
    //   system: {
    //     osName: 'darwin',
    //     osVersion: '16.7.0',
    //   }
    //   cypressVersion: '7.0.0'
    // }

    if (details.specs && details.browser) {
      // details.specs and details.browser will be undefined in interactive mode
      console.log(
        'Running',
        details.specs.length,
        'specs in',
        details.browser.name
      )
    }
  })
}

См. также

  • API после запуска
  • API перед тестом
  • API после теста
  • Руководство по плагинам
  • Написание плагина

© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/plugins/before-run-api

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API