Как сгруппировать определенные тесты или файлы при выполнении прогона в Cypress? - PullRequest
0 голосов
/ 11 февраля 2019

В настоящее время я использую Cypress, и у меня есть папки внутри него, где у меня есть тесты для разных приложений.У меня есть папка под названием «smhw-qa», которая содержит подпапки и тестовые файлы для этого конкретного приложения.

В этот каталог apps также будут включены другие приложения в будущем.

Что я хочу сделать

Чтобы не запускать каждые тест для запуска, я хочу запустить только эту конкретную папку.Расположение папки таково:

'cypress/integration/apps/smhw-qa'

Со временем в каталог apps будет добавлено больше папок и тестов.

I am знакомы с тем, как запускать определенный файл, поэтому выполняются следующие действия:

npx cypress run --spec 'cypress/integration/apps/smhw-qa/banners_promos_global/global_search.js'

Как мне указать Cypress, какую папку запускать конкретно, когда я использую команду npx cypress -run?

Что я уже пробовал

Чтобы запустить определенный тестовый файл, который я пробовал:

npx cypress run --project 'cypress/integration/apps/smhw-qa'

Но вместо этого появляется ошибка:

Can't run because no spec files were found.

We searched for any files inside of this folder:

/Users/jaswindersingh/Documents/cypress-automation/automation/cypress/integration/apps/smhw-qa/cypress/integration

Мне будет намного проще выполнять определенные наборы тестов по их папкам, и это сэкономит время, например, при запуске определенного набора тестов на нашей платформе CI.Мне также не нужно указывать отдельные файлы, так как это отнимает много времени.

Это также означало бы, что я могу разделить свои тесты и запускать их на разных машинах

Нужно ли мне что-то помещать в свои тестовые файлы или внутри cypress.json или изменять что-либо еще,или это можно сделать через терминал?Какие варианты я должен использовать вместо этого?

Спасибо

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Я думаю, что подсказка находится в сообщении об ошибке, вы звоните

cypress/integration/apps/smhw-qa

, и сообщение об ошибке показывает

cypress/integration/apps/smhw-qa/cypress/integration

, поэтому для использования флага --project вам необходимо повторитьпапка /cypress для проекта, как в этом примере cypress-test-nested-projects

Структура папки:

package.json
node_modules
src/
    clients/
        foo/
            cypress.json
            cypress/
        bar/
            cypress.json
            cypress/

Тем не менее, я думаю, что вы могли бы вместо этого использовать флаг --spec.Если я правильно понимаю, шаблон glob позволит вам сохранить текущую структуру папок. Документы

cypress run --spec 'cypress/integration/apps/smhw-qa/**/*'
0 голосов
/ 11 февраля 2019

Через --project вы можете управлять различными файлами cypress.json, в документации сказано:

Это позволяет установить Cypress в папку node_modules верхнего уровня, но запустить Cypress во вложенной папке.Это также полезно, когда у вас есть несколько проектов Cypress в вашем репо.

, так что вы на правильном пути, просто подготовьте несколько связанных с проектом cypress.json файлов

...