{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/test-cases/refs/heads/main/json-schema/test-cases-test-step-schema.json", "title": "TestStep", "description": "A single executable step within a test case, defining an action to perform and the expected result.", "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the test step." }, "test_case_id": { "type": "string", "description": "Identifier of the parent test case this step belongs to." }, "step_number": { "type": "integer", "minimum": 1, "description": "Ordinal position of this step within the test case." }, "action": { "type": "string", "description": "The specific action to perform during this test step." }, "test_data": { "type": "string", "description": "Input data or test values to use when performing the action." }, "expected_result": { "type": "string", "description": "The expected outcome after performing the action." }, "actual_result": { "type": "string", "description": "The actual observed result when the step was executed." }, "status": { "type": "string", "enum": ["not-executed", "passed", "failed", "blocked", "skipped"], "description": "Execution status of the test step." }, "notes": { "type": "string", "description": "Additional notes or observations recorded during step execution." }, "screenshot_url": { "type": "string", "format": "uri", "description": "URL to a screenshot or evidence captured during step execution." } }, "required": ["step_number", "action", "expected_result"] }