Выполнение кода один раз перед всеми спецификациями:
Вы можете использовать хук before
, который вы упомянули в cypress/support/index.js
.. Вот что говорится в моем локальном файле suppost / index.js (Cypress версия 3.2)
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
// You can read more here:
// https://on.cypress.io/configuration
Совет : Я использую ту же самую ловушку для выполнения скрипта, который сбрасывает состояние моей БД перед тестами. Я не смог успешно запустить некоторые операторы JS здесь, поэтому я поместил их в отдельный скрипт Node и выполнил его с cy.exec()
. Я думаю, вы могли бы вывести значение webapi, которое вам нужно из этого скрипта. cy.exec () имеет средство для чтения вывода команд, которые он выполняет:
before(() => {
cy.exec("node import-ui-test-data-to-firestore.js", {
failOnNonZeroExit: false
});
});
Совместное использование переменной между спецификациями:
Я не могу действительно дать совет по совместному использованию переменных во всех спецификациях, но вы можете найти это полезным -
https://docs.cypress.io/guides/core-concepts/variables-and-aliases.html#Sharing-Context