Это не полный ответ, но вы можете установить переменные javascript в операторе before(() => {})
, и они будут доступны для использования в любых вложенных it(..., () => {})
инструкциях.
ДляНапример, у меня есть один набор тестов, проверяющих две версии одного и того же приложения, написанные в разных средах.Поэтому мне нужно знать тестируемый фреймворк и загрузить разные приборы.
Для этого я использую следующее
const framework = Cypress.env('FRAMEWORK')
let config;
before(function() {
cy.fixture('frameworks').then(fixture => {
config = fixture[framework]
})
})
Затем я могу использовать config в тестах,
cy.visit(config.pageUrl)
it('should have a title', () => {
cy.title().should('contain', config.title)
});
Вы можете использовать before()
во многих местах набора тестов, как правило, после describe()
или context()
, а переменные, определенные внутри, доступны «обычным» способом JavaScript.