Секреты
Без использования Секретов, пользователям приходилось бы хранить конфиденциальные данные, такие как логины и пароли, непосредственно в скриптах в открытом виде. Это небезопасно и создаёт неудобства, поскольку делает невозможным безопасное хранение скриптов в публичных репозиториях, таких как Git, или передачу их третьим лицам.
Секреты — это зашифрованные переменные, которые позволяют безопасно хранить конфиденциальные данные отдельно от кода. Это обеспечивает высокую безопасность, удобство управления и облегчает работу с системой в команде.
Как использовать Секреты
1. Создание Секрета
Первым шагом является создание секрета в интерфейсе системы.

- В главном меню выберите Секреты.
- Нажмите Добавить секрет.
- Введите Имя (например, pingera-api-token) и Значение (сам API-токен) вашего секрета.
2. Настройка Секрета в проверке
Чтобы секрет стал доступен вашему скрипту, его нужно привязать к конкретной проверке.
- Перейдите на экран создания или редактирования Синтетической или Пошаговой API проверки.
- Найдите раздел "Секреты".
- Выберите созданный вами секрет из списка и назначьте его переменной окружения, например,
PINGERA_API_TOKEN.
Теперь ваша проверка будет запускаться с доступом к переменной окружения PINGERA_API_TOKEN,
что позволяет безопасно выполнять запросы к защищённым ресурсам.
3. Использование Секрета в Playwright скрипте
В вашем Playwright скрипте вы будете обращаться к секрету через переменную окружения process.env.
Вот пример, как это будет выглядеть для доступа к API https://api.pingera.ru/v1/pages с использованием заголовка Authorization.
import { test, expect } from '@playwright/test';
// Тест для проверки API
test('API request with secret', async ({ request }) => {
// Получаем токен из переменной окружения
const apiToken = process.env.PINGERA_API_TOKEN;
// Проверяем, что токен существует
if (!apiToken) {
throw new Error('PINGERA_API_TOKEN environment variable is not set.');
}
// Выполняем GET-запрос к API
const response = await request.get('https://api.pingera.ru/v1/pages', {
headers: {
'Authorization': `${apiToken}`,
'Content-Type': 'application/json'
},
});
// Проверяем, что запрос был успешен
expect(response.status()).toBe(200);
// Выводим тело ответа для отладки
const responseBody = await response.json();
console.log(responseBody);
});
В этом примере process.env.PINGERA_API_TOKEN будет автоматически заменён на значение вашего секрета.
Управление Секретами
Для более продвинутого управления секретами вы можете использовать API. Читайте больше в документации к API.