Skip to Content
Tests and ScriptsScriptGetting Started

Scripting

Bruno allows you to write JavaScript code before sending a request (Pre-request) and after receiving a response (Post-response). Use scripts to generate dynamic data, manipulate requests, parse responses, and set variables.

pre-post-script

Pre-request Scripts

Pre-request scripts run before the request is sent. Use them to set headers, generate dynamic values, or modify the request.

// Generate a timestamp const timestamp = Date.now(); req.setHeader("X-Timestamp", timestamp); // Set a dynamic variable bru.setVar("requestId", `req-${timestamp}`); // Add authentication token const token = bru.getEnvVar("authToken"); req.setHeader("Authorization", `Bearer ${token}`);

Post-response Scripts

Post-response scripts run after receiving the response. Use them to validate data, extract values, or set variables for subsequent requests.

// Extract and save data from response const body = res.getBody(); bru.setVar("userId", body.user.id); bru.setVar("accessToken", body.token); // Log response details console.log("Status:", res.getStatus()); console.log("Response time:", res.getResponseTime(), "ms"); // Conditional logic based on response if (res.getStatus() === 200) { bru.setEnvVar("lastSuccessTime", new Date().toISOString()); }
Last updated on