📄 JSON Schema Guide / JSON Şema Rehberi

This guide explains the .locator.json repository file structure used to store element snapshots and healing audit history.

💡 Select Language / Dil Seçin:


🇬🇧 English Reference

Sample .locator.json File

{
  "SchemaVersion": 1,
  "ApplicationName": "WinFormsApp",
  "Platform": "windows-uia",
  "Locators": [
    {
      "LocatorKey": "MainForm.txtEmail",
      "Description": "Customer email input field",
      "TestIntent": "Enter user account email address for authentication",
      "Snapshot": {
        "ControlType": "Edit",
        "Name": "Email Address",
        "AutomationId": "txtEmailAddress",
        "BoundingRectangle": { "X": 120, "Y": 80, "Width": 200, "Height": 24 }
      },
      "CreatedAt": "2026-08-02T10:00:00Z",
      "UpdatedAt": "2026-08-02T12:00:00Z",
      "HealingHistory": [
        {
          "HealedAt": "2026-08-02T12:00:00Z",
          "Source": "heuristic",
          "Score": 0.87,
          "ConfidenceThreshold": 0.5,
          "LlmConfidence": null,
          "LlmProviderName": null,
          "PreviousSnapshot": {
            "ControlType": "Edit",
            "Name": "Email Address",
            "AutomationId": "txtEmail",
            "BoundingRectangle": { "X": 120, "Y": 80, "Width": 200, "Height": 24 }
          },
          "AcceptedSnapshot": {
            "ControlType": "Edit",
            "Name": "Email Address",
            "AutomationId": "txtEmailAddress",
            "BoundingRectangle": { "X": 120, "Y": 80, "Width": 200, "Height": 24 }
          },
          "ScoreBreakdown": {
            "ControlTypeScore": 1.0,
            "ParentControlTypeScore": 1.0,
            "SiblingPositionScore": 1.0,
            "NameScore": 1.0,
            "PositionScore": 1.0
          },
          "DivergedFromHeuristic": null
        }
      ]
    }
  ]
}

Key Field Descriptions


🇹🇷 Türkçe Referans

Örnek .locator.json Dosyası

{
  "SchemaVersion": 1,
  "ApplicationName": "WinFormsApp",
  "Platform": "windows-uia",
  "Locators": [
    {
      "LocatorKey": "AnaForm.txtEposta",
      "Description": "Müşteri e-posta girdisi",
      "TestIntent": "Oturum açmak için kullanıcı e-posta adresini girer",
      "Snapshot": {
        "ControlType": "Edit",
        "Name": "E-posta Adresi",
        "AutomationId": "txtEmailAddress",
        "BoundingRectangle": { "X": 120, "Y": 80, "Width": 200, "Height": 24 }
      },
      "CreatedAt": "2026-08-02T10:00:00Z",
      "UpdatedAt": "2026-08-02T12:00:00Z",
      "HealingHistory": [
        {
          "HealedAt": "2026-08-02T12:00:00Z",
          "Source": "heuristic",
          "Score": 0.87,
          "ConfidenceThreshold": 0.5,
          "LlmConfidence": null,
          "LlmProviderName": null,
          "PreviousSnapshot": {
            "ControlType": "Edit",
            "Name": "E-posta Adresi",
            "AutomationId": "txtEmail",
            "BoundingRectangle": { "X": 120, "Y": 80, "Width": 200, "Height": 24 }
          },
          "AcceptedSnapshot": {
            "ControlType": "Edit",
            "Name": "E-posta Adresi",
            "AutomationId": "txtEmailAddress",
            "BoundingRectangle": { "X": 120, "Y": 80, "Width": 200, "Height": 24 }
          },
          "ScoreBreakdown": {
            "ControlTypeScore": 1.0,
            "ParentControlTypeScore": 1.0,
            "SiblingPositionScore": 1.0,
            "NameScore": 1.0,
            "PositionScore": 1.0
          },
          "DivergedFromHeuristic": null
        }
      ]
    }
  ]
}

Temel Alan Açıklamaları