и посмотреть медиа
Тестировщик | Вопросы собесов
и посмотреть медиа
Вопросы собеседований для тестировщиков.
Вопросы собеседований для тестировщиков.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Вопросы по тестированию: ISTQB, Selenium, API. С примерами.
🤔 Как реализовать Вейтер для Api? Вейтер (waiter) — это механизм, который позволяет ожидать выполнения определенного состояния API перед продолжением выполнения кода. Он используется, когда API-ответ не моментальный и требует подождать, например: Ожидание готовности ресурса (создание пользователя, завершение обработки запроса). Проверка статуса задачи (например, пока файл обработается). Повторные запросы к API через интервалы времени. 🟠Реализация "вейтера" в JavaScript (async/await + setTimeout) Этот подход полезен для работы с REST API. async function waitForCompletion(taskId, maxAttempts = 10, interval = 3000) { let attempt = 0; while (attempt < maxAttempts) { console.log(`Попытка ${attempt + 1}: Проверка статуса...`); const response = await fetch(`Ссылка скрыта const data = await response.json(); if (data.status === "completed") { console.log("Задача выполнена!"); return data; } attempt++; if (attempt < maxAttempts) { await new Promise(resolve => setTimeout(resolve, interval)); // Ожидание перед следующей попыткой } } throw new Error("Время ожидания истекло, задача не завершена."); } // Использование waitForCompletion("12345").then(console.log).catch(console.error); 🟠Реализация "вейтера" в Python (requests + time.sleep) Используется в тестах и API-интеграциях. import requests import time def wait_for_status(order_id, max_attempts=10, interval=5): url = f"Ссылка скрыта for attempt in range(max_attempts): print(f"Попытка {attempt + 1}: Проверяем статус...") response = requests.get(url) data = response.json() if data["status"] == "shipped": print("Заказ отправлен!") return data time.sleep(interval) # Ждем перед следующей попыткой raise TimeoutError("Время ожидания истекло, заказ не отправлен.") # Использование try: order_data = wait_for_status("98765") print(order_data) except TimeoutError as e: print(str(e)) 🟠Реализация "вейтера" в Java (RestAssured + Thread.sleep) В Java "вейтеры" часто используют в тестах API. import io.restassured.RestAssured; import io.restassured.response.Response; public class ApiWaiter { public static void waitForStatus(String taskId) throws InterruptedException { int maxAttempts = 10; int interval = 3000; // 3 секунды for (int i = 0; i < maxAttempts; i++) { System.out.println("Попытка " + (i + 1) + ": Проверяем статус..."); Response response = RestAssured.get("Ссылка скрыта + taskId); String status = response.jsonPath().getString("status"); if ("done".equals(status)) { System.out.println("Задача выполнена!"); return; } Thread.sleep(interval); } throw new RuntimeException("Время ожидания истекло, задача не завершена."); } public static void main(String[] args) throws InterruptedException { waitForStatus("task123"); } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!
Ежедневные ответы на квизы Amazon и Flipkart, обзоры технологий, лут и сделки.
Канал Threat Feeds с фидами о киберугрозах и мониторинге безопасности.
Технические обновления, премиум аккаунты, инструменты и бесплатные ставки на спорт.