test_runs_getTestRunResults
Retrieve detailed performance test results from LoadRunner Cloud using a specific test run ID to analyze execution data and metrics.
Instructions
Get test run results from LoadRunner Cloud.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| runId | Yes | The ID of the test run. |
Implementation Reference
- The core execution function that handles the tool logic: authenticates, constructs the API URL for test run results, makes a GET request to LoadRunner Cloud, handles responses and errors.const executeFunction = async ({ runId }) => { const baseUrl = process.env.LRC_BASE_URL; const tenantId = process.env.LRC_TENANT_ID; const token = await getAuthToken(); try { // Construct the URL with query parameters const url = new URL(`${baseUrl}/test-runs/${runId}/results`); url.searchParams.append('TENANTID', tenantId); // Set up headers for the request const headers = { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` }; // Perform the fetch request const response = await fetch(url.toString(), { method: 'GET', headers }); // Check if the response was successful if (!response.ok) { const text = await response.text(); try { const errorData = JSON.parse(text); throw new Error(JSON.stringify(errorData)); } catch (jsonErr) { // Not JSON, log the raw text console.error('Non-JSON error response:', text); throw new Error(text); } } // Parse and return the response data const text = await response.text(); try { const data = JSON.parse(text); return data; } catch (jsonErr) { // Not JSON, log the raw text console.error('Non-JSON success response:', text); return { error: 'Received non-JSON response from API', raw: text }; } } catch (error) { console.error('Error retrieving test run results:', error); return { error: 'An error occurred while retrieving test run results.' }; } };
- The apiTool object defining the tool's schema (parameters and required fields), name, description, and referencing the handler function. This is the primary tool definition.const apiTool = { function: executeFunction, definition: { type: 'function', function: { name: 'test_runs_getTestRunResults', description: 'Get test run results from LoadRunner Cloud.', parameters: { type: 'object', properties: { runId: { type: 'string', description: 'The ID of the test run.' } }, required: ['runId'] } } } };
- lib/tools.js:7-16 (registration)Dynamic registration mechanism: discoverTools loads all apiTool exports from files in toolPaths, spreading them into the tools array for MCP.export async function discoverTools() { const toolPromises = toolPaths.map(async (file) => { const module = await import(`../tools/${file}`); return { ...module.apiTool, path: file, }; }); return Promise.all(toolPromises); }
- tools/paths.js:5-5 (registration)The toolPaths array entry that includes this specific tool's file path, enabling its dynamic loading during tool discovery.'loadrunner-cloud/load-runner-cloud-api/test-runs-get-test-run-summary.js',