Перейти к основному содержимому

Секреты

Без использования Секретов, пользователям приходилось бы хранить конфиденциальные данные, такие как логины и пароли, непосредственно в скриптах в открытом виде. Это небезопасно и создаёт неудобства, поскольку делает невозможным безопасное хранение скриптов в публичных репозиториях, таких как 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.