diff --git a/Changes b/Changes
index fe45132..f19b492 100644
--- a/Changes
+++ b/Changes
@@ -12,6 +12,7 @@
         - Escape commas and asterisks in query-by-match query creator (kupietz, hebasta)
         - Tests for configurable hint foundries added (hebasta)
         - Restrict allow-same-origin to plugins that actually ARE AND request it (Requires the export plugin >= 0.4.1)(kupietz, tests hebasta)
+        - Add data-testid to glimpse (diewald)
 
 0.64 2026-02-14
         - Improve 'Plugins' mounting (diewald)
diff --git a/dev/js/spec/panelSpec.js b/dev/js/spec/panelSpec.js
index ccdd4eb..cdde2f6 100644
--- a/dev/js/spec/panelSpec.js
+++ b/dev/js/spec/panelSpec.js
@@ -1,4 +1,4 @@
-define(['panel','view','panel/result','panel/pagination','util'], function (panelClass,viewClass,resultClass,paginationClass) {
+define(['panel','view','panel/result','panel/pagination','panel/query','util'], function (panelClass,viewClass,resultClass,paginationClass,queryPanelClass) {
 
   var controlStr = "";
 
@@ -254,4 +254,32 @@
     });
 
   });
+
+  describe('KorAP.Panel.Query', function () {
+
+    it('should set data-testid on glimpse button', function () {
+      // Set up required DOM elements
+      var colabel = document.createElement('label');
+      colabel.setAttribute('title', 'Glimpse description');
+      var glimpse = document.createElement('input');
+      glimpse.setAttribute('id', 'glimpse');
+      colabel.appendChild(glimpse);
+      document.body.appendChild(colabel);
+
+      var cutoff = document.createElement('input');
+      cutoff.setAttribute('type', 'checkbox');
+      cutoff.setAttribute('id', 'q-cutoff-field');
+      document.body.appendChild(cutoff);
+
+      var queryPanel = queryPanelClass.create();
+
+      var btn = queryPanel.element().querySelector('[data-testid="glimpse"]');
+      expect(btn).toBeTruthy();
+      expect(btn.getAttribute('data-testid')).toEqual('glimpse');
+
+      // Clean up
+      document.body.removeChild(colabel);
+      document.body.removeChild(cutoff);
+    });
+  });
 });
diff --git a/dev/js/src/panel/query.js b/dev/js/src/panel/query.js
index 08f51d3..fc95a9b 100644
--- a/dev/js/src/panel/query.js
+++ b/dev/js/src/panel/query.js
@@ -63,13 +63,15 @@
       s.associate(glimpseChange);
       s.set(cof.checked);
       
-      a.addToggle(
+      let b = a.addToggle(
         "Glimpse", {
           'cls':['glimpse'],
           'desc':colabel.getAttribute('title')
         },
         s
       );
+
+      b.setAttribute('data-testid', 'glimpse');
       
       // Don't show default glimpse
       colabel.style.display = "none";
