У меня есть код Cypress, который содержит конфиденциальный заголовок, который я хочу замаскировать/расшифровать.
cy.request({
method: 'GET',
url: 'https://sample-url',
headers: {
'key': 'value'
}
})
Есть ли способ всякий раз, когда мы нажимаем на удаленный, мои желаемые значения шифруются (например, заголовки в приведенном выше примере).
Я ничего не могу придумать, чтобы автоматически шифровать и расшифровывать значения с помощью git push/fetch. Это, вероятно, не то направление, в котором вы хотите двигаться в любом случае.
Более простой способ работы с конфиденциальными значениями — сохранить их в переменных среды и не передавать их в систему управления версиями.
С Cypress есть несколько способов получить переменные окружения в тесты, но один простой способ — это файл cypress.env.json
. Этот файл будет указан внутри вашего .gitignore.
Файл env будет выглядеть следующим образом:
// cypress.env.json
{
"secretKey": "value"
}
И ваш код будет называть это так
// Code
cy.request({
method: 'GET',
url: 'https://sample-url',
headers: {
'key': Cypress.env('secretKey');
}
})
Единственное, в чем вам нужно убедиться, если вы запускаете тесты в конвейере, вы должны установить переменные среды перед запуском тестов.
Вот еще одна ссылка, которая, я думаю, может помочь
https://glebbahmutov.com/blog/keep-passwords-secret-in-e2e-tests/