From 39243d9b78ac6e0194ad5086b664a9991fa83de4 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Tue, 25 Feb 2025 17:08:16 -0800 Subject: [PATCH 01/18] add browser user action events --- model/browser/events.yaml | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 model/browser/events.yaml diff --git a/model/browser/events.yaml b/model/browser/events.yaml new file mode 100644 index 0000000000..aed8eec955 --- /dev/null +++ b/model/browser/events.yaml @@ -0,0 +1,83 @@ +groups: + - id: event.browser.user_action + stability: development + type: event + name: browser.user_action + brief: > + This event describes actions performed by the user such as click, scroll, zoom, resize, etc. + body: + id: browser.user_action + requirement_level: required + stability: development + type: map + fields: + - id: element + type: string + stability: development + brief: Target element tag name and it is obtained via event.target.tagName. + requirement_level: recommended + examples: ["button"] + - id: element_xpath + type: string + stability: development + brief: Target element xpath + requirement_level: recommended + examples: ["//*[@id='testBtn']"] + - id: user_action_type + type: + members: + - id: clickleft + value: "cl" + stability: development + brief: An element is left clicked by a user. + - id: clickright + value: "cr" + stability: development + brief: An element is right clicked by a user. + - id: clickmiddle + value: "cm" + stability: development + brief: An element is middle clicked by a user. + - id: scroll + value: "s" + stability: development + brief: An element is scrolled by a user. + - id: zoom + value: "z" + stability: development + brief: An element is zoomed by a user. + - id: resize + value: "r" + stability: development + brief: An element is resized by a user. + - id: keyboardenter + value: "ke" + stability: development + brief: An element is entered via keyboard by a user. + - id: keyboardspace + value: "ks" + stability: development + brief: A space is entered via keyboard by a user. + - id: other + value: "o" + stability: development + brief: User actions that are not listed above. + stability: development + brief: > + Type of interaction. + See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. + requirement_level: required + examples: ["cl"] + - id: click_coordinates + type: string + stability: development + brief: Click coordinates captured as a string in the format {x}X{y}. + requirement_level: recommended + examples: ["345X23"] + - id: tags + type: string + stability: development + brief: Grab data from data-otel-* attributes in tree. + requirement_level: recommended + examples: ["id"] + \ No newline at end of file From 4971c2d164701a7c530da6b515c6b2bbcb716e8f Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Wed, 26 Feb 2025 14:43:42 -0800 Subject: [PATCH 02/18] update --- docs/browser/events.md | 56 ++++++++++++++++++++++++ model/browser/events.yaml | 90 ++++++++++++++++++++------------------- 2 files changed, 102 insertions(+), 44 deletions(-) create mode 100644 docs/browser/events.md diff --git a/docs/browser/events.md b/docs/browser/events.md new file mode 100644 index 0000000000..65a3d0359d --- /dev/null +++ b/docs/browser/events.md @@ -0,0 +1,56 @@ + + +# Semantic conventions for browser events + +**Status**: [Development][DocumentStatus] + +This document defines semantic conventions for browser (web) instrumentations +that emit events. + +## UserAction Event + + + + + + + + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +The event name MUST be `browser.user_action`. + +This event describes actions performed by the user such as click, scroll, zoom, resize, etc. + +**Body fields:** + +| Body Field | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| `click_coordinates` | string | Click coordinates captured as a string in the format {x}X{y}. | `345X23` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `element` | string | Target element tag name and it is obtained via event.target.tagName. | `button` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `element_xpath` | string | Target element xpath | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `tags` | string | Grab data from data-otel-* attributes in tree. | `id` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `cl` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | + +`user_action_type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +|---|---|---| +| `cl` | An element is left clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `cm` | An element is middle clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `cr` | An element is right clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `ke` | An element is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `ks` | A space is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `o` | User actions that are not listed above. | ![Development](https://img.shields.io/badge/-development-blue) | +| `r` | An element is resized by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `s` | An element is scrolled by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `z` | An element is zoomed by a user. | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + + +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/model/browser/events.yaml b/model/browser/events.yaml index aed8eec955..f708e19cae 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -11,7 +11,7 @@ groups: stability: development type: map fields: - - id: element + - id: element type: string stability: development brief: Target element tag name and it is obtained via event.target.tagName. @@ -20,64 +20,66 @@ groups: - id: element_xpath type: string stability: development - brief: Target element xpath + brief: Target element xpath requirement_level: recommended examples: ["//*[@id='testBtn']"] - - id: user_action_type - type: - members: - - id: clickleft - value: "cl" - stability: development - brief: An element is left clicked by a user. - - id: clickright - value: "cr" - stability: development - brief: An element is right clicked by a user. - - id: clickmiddle - value: "cm" - stability: development - brief: An element is middle clicked by a user. - - id: scroll - value: "s" - stability: development - brief: An element is scrolled by a user. - - id: zoom - value: "z" - stability: development - brief: An element is zoomed by a user. - - id: resize - value: "r" - stability: development - brief: An element is resized by a user. - - id: keyboardenter - value: "ke" - stability: development - brief: An element is entered via keyboard by a user. - - id: keyboardspace - value: "ks" - stability: development - brief: A space is entered via keyboard by a user. - - id: other - value: "o" - stability: development - brief: User actions that are not listed above. + - id: user_action_type + type: enum + members: + - id: clickleft + value: "cl" + stability: development + brief: An element is left clicked by a user. + - id: clickright + value: "cr" + stability: development + brief: An element is right clicked by a user. + - id: clickmiddle + value: "cm" + stability: development + brief: An element is middle clicked by a user. + - id: scroll + value: "s" + stability: development + brief: An element is scrolled by a user. + - id: zoom + value: "z" + stability: development + brief: An element is zoomed by a user. + - id: resize + value: "r" + stability: development + brief: An element is resized by a user. + - id: keyboardenter + value: "ke" + stability: development + brief: An element is entered via keyboard by a user. + - id: keyboardspace + value: "ks" + stability: development + brief: A space is entered via keyboard by a user. + - id: other + value: "o" + stability: development + brief: User actions that are not listed above. stability: development brief: > Type of interaction. - See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. + See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) + for potential values we could add support for. requirement_level: required examples: ["cl"] - - id: click_coordinates + - id: click_coordinates type: string stability: development brief: Click coordinates captured as a string in the format {x}X{y}. requirement_level: recommended examples: ["345X23"] - - id: tags + - id: tags type: string stability: development brief: Grab data from data-otel-* attributes in tree. requirement_level: recommended examples: ["id"] + \ No newline at end of file From 750650f9ed6f6cddd9ecd938979baca50fefc3fc Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Wed, 26 Feb 2025 14:48:16 -0800 Subject: [PATCH 03/18] update --- model/browser/events.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/model/browser/events.yaml b/model/browser/events.yaml index f708e19cae..423ad1f99d 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -17,7 +17,7 @@ groups: brief: Target element tag name and it is obtained via event.target.tagName. requirement_level: recommended examples: ["button"] - - id: element_xpath + - id: element_xpath type: string stability: development brief: Target element xpath @@ -64,7 +64,7 @@ groups: brief: User actions that are not listed above. stability: development brief: > - Type of interaction. + Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. requirement_level: required @@ -78,8 +78,6 @@ groups: - id: tags type: string stability: development - brief: Grab data from data-otel-* attributes in tree. + brief: Grab data from data-otel-* attributes in tree. requirement_level: recommended examples: ["id"] - - \ No newline at end of file From 2de255973cfabc64e6f56762427de06cdf52f9b8 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Wed, 26 Feb 2025 14:56:14 -0800 Subject: [PATCH 04/18] update --- model/browser/events.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/model/browser/events.yaml b/model/browser/events.yaml index 423ad1f99d..846fc7757f 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -65,8 +65,7 @@ groups: stability: development brief: > Type of interaction. - See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) - for potential values we could add support for. + See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. requirement_level: required examples: ["cl"] - id: click_coordinates From 1621e7e46bfd5b9d13b46ccfcefdf986d32ef438 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Wed, 26 Feb 2025 15:02:59 -0800 Subject: [PATCH 05/18] update --- docs/browser/events.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/browser/events.md b/docs/browser/events.md index 65a3d0359d..31b931fc4b 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -32,7 +32,7 @@ This event describes actions performed by the user such as click, scroll, zoom, | `element` | string | Target element tag name and it is obtained via event.target.tagName. | `button` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `element_xpath` | string | Target element xpath | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `tags` | string | Grab data from data-otel-* attributes in tree. | `id` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `cl` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `cl` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | `user_action_type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. From 61e6e3d436326864dc29bd12967c6b7145875ceb Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Mon, 24 Mar 2025 16:40:28 -0700 Subject: [PATCH 06/18] update --- docs/browser/events.md | 28 ++++++++++++++-------------- model/browser/events.yaml | 35 ++++++++++++++++++----------------- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/docs/browser/events.md b/docs/browser/events.md index 31b931fc4b..12f8bc0ea3 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -11,7 +11,7 @@ that emit events. ## UserAction Event - + @@ -20,7 +20,7 @@ that emit events. **Status:** ![Development](https://img.shields.io/badge/-development-blue) -The event name MUST be `browser.user_action`. +The event name MUST be `enduser.user_action`. This event describes actions performed by the user such as click, scroll, zoom, resize, etc. @@ -28,25 +28,25 @@ This event describes actions performed by the user such as click, scroll, zoom, | Body Field | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| `click_coordinates` | string | Click coordinates captured as a string in the format {x}X{y}. | `345X23` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `element` | string | Target element tag name and it is obtained via event.target.tagName. | `button` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `element_xpath` | string | Target element xpath | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `click_coordinates` | int[] | Click coordinates(in pixels) relative to the entire document with format [x(horizontal),y(vertical)]. | `[10, 10]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `element` | string | Target element tag name and it is obtained via `event.target.tagName`. | `button` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `tags` | string | Grab data from data-otel-* attributes in tree. | `id` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `cl` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| `xpath` | string | Target element xpath | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | `user_action_type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | |---|---|---| -| `cl` | An element is left clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `cm` | An element is middle clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `cr` | An element is right clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `ke` | An element is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `ks` | A space is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `o` | User actions that are not listed above. | ![Development](https://img.shields.io/badge/-development-blue) | -| `r` | An element is resized by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `s` | An element is scrolled by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `z` | An element is zoomed by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `clickleft` | An element is left clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `clickmiddle` | An element is middle clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `clickright` | An element is right clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `keyboardenter` | An element is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `keyboardspace` | A space is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `other` | User actions that are not listed above. | ![Development](https://img.shields.io/badge/-development-blue) | +| `resize` | An element is resized by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `scroll` | An element is scrolled by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `zoom` | An element is zoomed by a user. | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/model/browser/events.yaml b/model/browser/events.yaml index 846fc7757f..8447feb981 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -1,12 +1,12 @@ groups: - - id: event.browser.user_action + - id: event.enduser.user_action stability: development type: event - name: browser.user_action + name: enduser.user_action brief: > This event describes actions performed by the user such as click, scroll, zoom, resize, etc. body: - id: browser.user_action + id: enduser.user_action requirement_level: required stability: development type: map @@ -14,10 +14,10 @@ groups: - id: element type: string stability: development - brief: Target element tag name and it is obtained via event.target.tagName. + brief: Target element tag name and it is obtained via `event.target.tagName`. requirement_level: recommended examples: ["button"] - - id: element_xpath + - id: xpath type: string stability: development brief: Target element xpath @@ -27,39 +27,39 @@ groups: type: enum members: - id: clickleft - value: "cl" + value: "clickleft" stability: development brief: An element is left clicked by a user. - id: clickright - value: "cr" + value: "clickright" stability: development brief: An element is right clicked by a user. - id: clickmiddle - value: "cm" + value: "clickmiddle" stability: development brief: An element is middle clicked by a user. - id: scroll - value: "s" + value: "scroll" stability: development brief: An element is scrolled by a user. - id: zoom - value: "z" + value: "zoom" stability: development brief: An element is zoomed by a user. - id: resize - value: "r" + value: "resize" stability: development brief: An element is resized by a user. - id: keyboardenter - value: "ke" + value: "keyboardenter" stability: development brief: An element is entered via keyboard by a user. - id: keyboardspace - value: "ks" + value: "keyboardspace" stability: development brief: A space is entered via keyboard by a user. - id: other - value: "o" + value: "other" stability: development brief: User actions that are not listed above. stability: development @@ -69,11 +69,12 @@ groups: requirement_level: required examples: ["cl"] - id: click_coordinates - type: string + type: int[] stability: development - brief: Click coordinates captured as a string in the format {x}X{y}. + brief: Click coordinates(in pixels) relative to the entire document with format [x(horizontal),y(vertical)]. requirement_level: recommended - examples: ["345X23"] + examples: + - [10, 10] - id: tags type: string stability: development From ba58a7f82d65b58e7d2ad45023f4c7cdfc8b2b57 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Mon, 24 Mar 2025 16:46:34 -0700 Subject: [PATCH 07/18] update --- docs/browser/events.md | 2 +- model/browser/events.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/browser/events.md b/docs/browser/events.md index 12f8bc0ea3..5c8b0a9c25 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -31,7 +31,7 @@ This event describes actions performed by the user such as click, scroll, zoom, | `click_coordinates` | int[] | Click coordinates(in pixels) relative to the entire document with format [x(horizontal),y(vertical)]. | `[10, 10]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `element` | string | Target element tag name and it is obtained via `event.target.tagName`. | `button` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `tags` | string | Grab data from data-otel-* attributes in tree. | `id` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `cl` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `clickright` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | | `xpath` | string | Target element xpath | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | `user_action_type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/browser/events.yaml b/model/browser/events.yaml index 8447feb981..b5c4068106 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -67,13 +67,13 @@ groups: Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. requirement_level: required - examples: ["cl"] + examples: ["clickright"] - id: click_coordinates type: int[] stability: development brief: Click coordinates(in pixels) relative to the entire document with format [x(horizontal),y(vertical)]. requirement_level: recommended - examples: + examples: - [10, 10] - id: tags type: string From e8de18c8a2ec323495160072d8085fa9e7d888c4 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Thu, 27 Mar 2025 16:26:00 -0700 Subject: [PATCH 08/18] update --- .chloggen/browser-event.yaml | 22 ++++++++++++++++++++++ docs/browser/events.md | 8 ++++---- model/browser/events.yaml | 14 +++++++------- 3 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 .chloggen/browser-event.yaml diff --git a/.chloggen/browser-event.yaml b/.chloggen/browser-event.yaml new file mode 100644 index 0000000000..d7d4e23414 --- /dev/null +++ b/.chloggen/browser-event.yaml @@ -0,0 +1,22 @@ +# Use this changelog template to create an entry for release notes. +# +# If your change doesn't affect end users you should instead start +# your pull request title with [chore] or use the "Skip Changelog" label. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: new_component + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: browser + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add browser and enduser events. + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +# The values here must be integers. +issues: [1941] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/docs/browser/events.md b/docs/browser/events.md index 5c8b0a9c25..c449023c4c 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -31,16 +31,16 @@ This event describes actions performed by the user such as click, scroll, zoom, | `click_coordinates` | int[] | Click coordinates(in pixels) relative to the entire document with format [x(horizontal),y(vertical)]. | `[10, 10]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `element` | string | Target element tag name and it is obtained via `event.target.tagName`. | `button` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `tags` | string | Grab data from data-otel-* attributes in tree. | `id` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `clickright` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `click.right` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | | `xpath` | string | Target element xpath | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | `user_action_type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | |---|---|---| -| `clickleft` | An element is left clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `clickmiddle` | An element is middle clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `clickright` | An element is right clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `click.left` | An element is left clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `click.middle` | An element is middle clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `click.right` | An element is right clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | | `keyboardenter` | An element is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | | `keyboardspace` | A space is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | | `other` | User actions that are not listed above. | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/model/browser/events.yaml b/model/browser/events.yaml index b5c4068106..da2cca0ab7 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -26,16 +26,16 @@ groups: - id: user_action_type type: enum members: - - id: clickleft - value: "clickleft" + - id: click.left + value: "click.left" stability: development brief: An element is left clicked by a user. - - id: clickright - value: "clickright" + - id: click.right + value: "click.right" stability: development brief: An element is right clicked by a user. - - id: clickmiddle - value: "clickmiddle" + - id: click.middle + value: "click.middle" stability: development brief: An element is middle clicked by a user. - id: scroll @@ -67,7 +67,7 @@ groups: Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. requirement_level: required - examples: ["clickright"] + examples: ["click.right"] - id: click_coordinates type: int[] stability: development From 6af82463f103b2f23f9843ef57434d742205a2aa Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Thu, 27 Mar 2025 16:28:37 -0700 Subject: [PATCH 09/18] update --- .chloggen/browser-event.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.chloggen/browser-event.yaml b/.chloggen/browser-event.yaml index d7d4e23414..ce6d99aea5 100644 --- a/.chloggen/browser-event.yaml +++ b/.chloggen/browser-event.yaml @@ -10,7 +10,7 @@ change_type: new_component component: browser # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add browser and enduser events. +note: Add browser and enduser events. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. # The values here must be integers. From dae27fe2dea51d1802b0b587449caa9dc7c99dc9 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Fri, 28 Mar 2025 12:28:30 -0700 Subject: [PATCH 10/18] update --- docs/browser/events.md | 4 ++-- model/browser/events.yaml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/browser/events.md b/docs/browser/events.md index c449023c4c..4401dda982 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -41,8 +41,8 @@ This event describes actions performed by the user such as click, scroll, zoom, | `click.left` | An element is left clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | | `click.middle` | An element is middle clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | | `click.right` | An element is right clicked by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `keyboardenter` | An element is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | -| `keyboardspace` | A space is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `keyboard.enter` | An element is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | +| `keyboard.space` | A space is entered via keyboard by a user. | ![Development](https://img.shields.io/badge/-development-blue) | | `other` | User actions that are not listed above. | ![Development](https://img.shields.io/badge/-development-blue) | | `resize` | An element is resized by a user. | ![Development](https://img.shields.io/badge/-development-blue) | | `scroll` | An element is scrolled by a user. | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/model/browser/events.yaml b/model/browser/events.yaml index da2cca0ab7..be2fd91f72 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -50,12 +50,12 @@ groups: value: "resize" stability: development brief: An element is resized by a user. - - id: keyboardenter - value: "keyboardenter" + - id: keyboard.enter + value: "keyboard.enter" stability: development brief: An element is entered via keyboard by a user. - - id: keyboardspace - value: "keyboardspace" + - id: keyboard.space + value: "keyboard.space" stability: development brief: A space is entered via keyboard by a user. - id: other From ae86a4431fc86ffff45618cf36a4472b3277148b Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Mon, 31 Mar 2025 14:24:02 -0700 Subject: [PATCH 11/18] update --- docs/browser/events.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/browser/events.md b/docs/browser/events.md index 4401dda982..4d85887c12 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -26,6 +26,10 @@ This event describes actions performed by the user such as click, scroll, zoom, **Body fields:** +:warning: Body fields will be moved to complex attributes once the +semantic convention tooling supports complex attributes +(see [#1870](https://github.com/open-telemetry/semantic-conventions/issues/1870)). + | Body Field | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | `click_coordinates` | int[] | Click coordinates(in pixels) relative to the entire document with format [x(horizontal),y(vertical)]. | `[10, 10]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | From 32af685336429290de76431a68360f168e9d8ca9 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Wed, 23 Apr 2025 16:22:47 -0700 Subject: [PATCH 12/18] update --- .chloggen/browser-event.yaml | 1 - model/browser/events.yaml | 1 - 2 files changed, 2 deletions(-) diff --git a/.chloggen/browser-event.yaml b/.chloggen/browser-event.yaml index ef009bee39..a1602807d9 100644 --- a/.chloggen/browser-event.yaml +++ b/.chloggen/browser-event.yaml @@ -20,4 +20,3 @@ issues: [1940, 1941] # These lines will be padded with 2 spaces and then inserted directly into the document. # Use pipe (|) for multiline entries. subtext: - diff --git a/model/browser/events.yaml b/model/browser/events.yaml index 1aa59c18f8..1aab7163af 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -52,7 +52,6 @@ groups: brief: A unique ID representing this particular metric instance. requirement_level: required examples: ["v3-1677874579383-6381583661209"] - - id: event.enduser.user_action stability: development type: event From 562eb61d33203ac4ad1613b9659a5faefd7c4a82 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Mon, 12 May 2025 15:48:01 -0700 Subject: [PATCH 13/18] update --- docs/browser/events.md | 3 ++- model/browser/events.yaml | 15 +++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/docs/browser/events.md b/docs/browser/events.md index 842aa2ca1d..04b8126397 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -74,7 +74,8 @@ semantic convention tooling supports complex attributes | Body Field | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| `click.xy` | int[] | Click coordinates(in pixels) relative to the entire document with format [x(horizontal),y(vertical)]. | `[10, 10]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `click.x` | int | Click x(horizontal) coordinates(in pixels) relative to the entire document. | `10` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `click.y` | int | Click y(vertical) coordinates(in pixels) relative to the entire document. | `10` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `element` | string | Target element tag name and it is obtained via `event.target.tagName`. | `button` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `tags` | string | Grab data from data-otel-* attributes in tree. | `id` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `click.right` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/model/browser/events.yaml b/model/browser/events.yaml index 1aab7163af..d6bf1729c6 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -121,13 +121,20 @@ groups: See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. requirement_level: required examples: ["click.right"] - - id: click.xy - type: int[] + - id: click.x + type: int stability: development - brief: Click coordinates(in pixels) relative to the entire document with format [x(horizontal),y(vertical)]. + brief: Click x(horizontal) coordinates(in pixels) relative to the entire document. requirement_level: recommended examples: - - [10, 10] + - 10 + - id: click.y + type: int + stability: development + brief: Click y(vertical) coordinates(in pixels) relative to the entire document. + requirement_level: recommended + examples: + - 10 - id: tags type: string stability: development From 1de02d1f2b432ffa60b0d49f0d39229034393cd9 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Wed, 14 May 2025 17:30:23 -0700 Subject: [PATCH 14/18] update --- docs/browser/events.md | 4 ++-- model/browser/events.yaml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/browser/events.md b/docs/browser/events.md index 04b8126397..9eda8db3de 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -53,7 +53,7 @@ semantic convention tooling supports complex attributes ## UserAction Event - + @@ -62,7 +62,7 @@ semantic convention tooling supports complex attributes **Status:** ![Development](https://img.shields.io/badge/-development-blue) -The event name MUST be `enduser.user_action`. +The event name MUST be `browser.user_action`. This event describes actions performed by the user such as click, scroll, zoom, resize, etc. diff --git a/model/browser/events.yaml b/model/browser/events.yaml index d6bf1729c6..13f7fa7dda 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -52,14 +52,14 @@ groups: brief: A unique ID representing this particular metric instance. requirement_level: required examples: ["v3-1677874579383-6381583661209"] - - id: event.enduser.user_action + - id: event.browser.user_action stability: development type: event - name: enduser.user_action + name: browser.user_action brief: > This event describes actions performed by the user such as click, scroll, zoom, resize, etc. body: - id: enduser.user_action + id: browser.user_action requirement_level: required stability: development type: map From e91ea37744ffe5847b991428b2a68f4c4f3c692b Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Tue, 10 Jun 2025 00:40:43 -0700 Subject: [PATCH 15/18] update --- docs/browser/events.md | 10 +++++----- model/browser/events.yaml | 14 ++++++++------ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/docs/browser/events.md b/docs/browser/events.md index 9eda8db3de..60b0f54fc1 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -76,12 +76,12 @@ semantic convention tooling supports complex attributes |---|---|---|---|---|---| | `click.x` | int | Click x(horizontal) coordinates(in pixels) relative to the entire document. | `10` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `click.y` | int | Click y(vertical) coordinates(in pixels) relative to the entire document. | `10` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `element` | string | Target element tag name and it is obtained via `event.target.tagName`. | `button` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `tags` | string | Grab data from data-otel-* attributes in tree. | `id` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `user_action_type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `click.right` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| `xpath` | string | Target element xpath | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `tagName` | string | Target element tag name and it is obtained via `event.target.tagName`. | `BUTTON` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `tags` | string[] | Grab data from data-otel-* attributes in tree. | `["id", "name"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `click.right` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| `xpath` | string | Target element xpath, see [xpath](https://www.w3.org/TR/xpath/). | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -`user_action_type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. +`type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | |---|---|---| diff --git a/model/browser/events.yaml b/model/browser/events.yaml index 13f7fa7dda..eb6ea69391 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -64,19 +64,19 @@ groups: stability: development type: map fields: - - id: element + - id: tagName type: string stability: development brief: Target element tag name and it is obtained via `event.target.tagName`. requirement_level: recommended - examples: ["button"] + examples: ["BUTTON"] - id: xpath type: string stability: development - brief: Target element xpath + brief: Target element xpath, see [xpath](https://www.w3.org/TR/xpath/). requirement_level: recommended examples: ["//*[@id='testBtn']"] - - id: user_action_type + - id: type type: enum members: - id: click.left @@ -136,8 +136,10 @@ groups: examples: - 10 - id: tags - type: string + type: string[] stability: development brief: Grab data from data-otel-* attributes in tree. requirement_level: recommended - examples: ["id"] + examples: + - ["id", "name"] + From c06296c34cfed9062056c5e12b4b03d982f461d4 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Tue, 10 Jun 2025 00:45:08 -0700 Subject: [PATCH 16/18] update --- model/browser/events.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/model/browser/events.yaml b/model/browser/events.yaml index eb6ea69391..23c21c79ce 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -140,6 +140,5 @@ groups: stability: development brief: Grab data from data-otel-* attributes in tree. requirement_level: recommended - examples: + examples: - ["id", "name"] - From e5c6f1831cb5c7a90dd70724c66ebae3f6965030 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Wed, 11 Jun 2025 13:05:10 -0700 Subject: [PATCH 17/18] update --- docs/browser/events.md | 8 ++++---- model/browser/events.yaml | 10 ++++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/browser/events.md b/docs/browser/events.md index 60b0f54fc1..3c35ffaef5 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -74,12 +74,12 @@ semantic convention tooling supports complex attributes | Body Field | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| `click.x` | int | Click x(horizontal) coordinates(in pixels) relative to the entire document. | `10` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `click.y` | int | Click y(vertical) coordinates(in pixels) relative to the entire document. | `10` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| `tagName` | string | Target element tag name and it is obtained via `event.target.tagName`. | `BUTTON` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `page.x` | int | Click x(horizontal) coordinates(in pixels) relative to the entire document. | `10` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `page.y` | int | Click y(vertical) coordinates(in pixels) relative to the entire document. | `10` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `tag_name` | string | Target element tag name and it is obtained via `event.target.tagName`. | `BUTTON` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `tags` | string[] | Grab data from data-otel-* attributes in tree. | `["id", "name"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `click.right` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| `xpath` | string | Target element xpath, see [xpath](https://www.w3.org/TR/xpath/). | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `xpath` | string | Target element xpath by using [XPathExpression](https://developer.mozilla.org/en-US/docs/Web/API/XPathExpression). see [xpath](https://www.w3.org/TR/xpath/). | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | `type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/browser/events.yaml b/model/browser/events.yaml index 23c21c79ce..e9a803973f 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -64,7 +64,7 @@ groups: stability: development type: map fields: - - id: tagName + - id: tag_name type: string stability: development brief: Target element tag name and it is obtained via `event.target.tagName`. @@ -73,7 +73,9 @@ groups: - id: xpath type: string stability: development - brief: Target element xpath, see [xpath](https://www.w3.org/TR/xpath/). + brief: > + Target element xpath by using [XPathExpression](https://developer.mozilla.org/en-US/docs/Web/API/XPathExpression). + see [xpath](https://www.w3.org/TR/xpath/). requirement_level: recommended examples: ["//*[@id='testBtn']"] - id: type @@ -121,14 +123,14 @@ groups: See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. requirement_level: required examples: ["click.right"] - - id: click.x + - id: page.x type: int stability: development brief: Click x(horizontal) coordinates(in pixels) relative to the entire document. requirement_level: recommended examples: - 10 - - id: click.y + - id: page.y type: int stability: development brief: Click y(vertical) coordinates(in pixels) relative to the entire document. From 7a4813a9ccad91c2cb0d213c500f73a90a078347 Mon Sep 17 00:00:00 2001 From: Karlie Li Date: Wed, 11 Jun 2025 13:27:57 -0700 Subject: [PATCH 18/18] update --- docs/browser/events.md | 2 +- model/browser/events.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/browser/events.md b/docs/browser/events.md index 3c35ffaef5..986433508c 100644 --- a/docs/browser/events.md +++ b/docs/browser/events.md @@ -79,7 +79,7 @@ semantic convention tooling supports complex attributes | `tag_name` | string | Target element tag name and it is obtained via `event.target.tagName`. | `BUTTON` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `tags` | string[] | Grab data from data-otel-* attributes in tree. | `["id", "name"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | `type` | enum | Type of interaction. See enum [here](https://github.com/microsoft/ApplicationInsights-JS/blob/main/extensions/applicationinsights-clickanalytics-js/src/Enums.ts) for potential values we could add support for. | `click.right` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| `xpath` | string | Target element xpath by using [XPathExpression](https://developer.mozilla.org/en-US/docs/Web/API/XPathExpression). see [xpath](https://www.w3.org/TR/xpath/). | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| `xpath` | string | Target element xpath by using [XPathExpression](https://developer.mozilla.org/en-US/docs/Web/API/XPathExpression). see [xpath](https://www.w3.org/TR/xpath/). | `//*[@id='testBtn']` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | `type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/browser/events.yaml b/model/browser/events.yaml index e9a803973f..461ec8fd9e 100644 --- a/model/browser/events.yaml +++ b/model/browser/events.yaml @@ -74,7 +74,7 @@ groups: type: string stability: development brief: > - Target element xpath by using [XPathExpression](https://developer.mozilla.org/en-US/docs/Web/API/XPathExpression). + Target element xpath by using [XPathExpression](https://developer.mozilla.org/en-US/docs/Web/API/XPathExpression). see [xpath](https://www.w3.org/TR/xpath/). requirement_level: recommended examples: ["//*[@id='testBtn']"]