UNPKG

@grafana/e2e-selectors

Version:

Grafana End-to-End Test Selectors Library

1,810 lines (1,804 loc) • 76.9 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var semver = require('semver'); "use strict"; function resolveSelectors(versionedSelectors, grafanaVersion = "latest") { const version = grafanaVersion.replace(/\-.*/, ""); return resolveSelectorGroup(versionedSelectors, version); } function resolveSelectorGroup(group, grafanaVersion) { const result = {}; for (const [key, value] of Object.entries(group)) { if (isVersionedSelectorGroup(value)) { result[key] = resolveSelectorGroup(value, grafanaVersion); } else { assertIsSemverValid(value, key); result[key] = resolveSelector(value, grafanaVersion); } } return result; } function isVersionedSelectorGroup(target) { if (typeof target === "object") { const [first] = Object.keys(target); return !semver.valid(first); } return false; } function resolveSelector(versionedSelector, grafanaVersion) { let versionToUse; let versions = Object.keys(versionedSelector).sort(semver.compare); if (grafanaVersion === "latest") { return versionedSelector[versions[versions.length - 1]]; } for (const version of versions) { if (semver.gte(grafanaVersion, version)) { versionToUse = version; } } if (!versionToUse) { versionToUse = versions[versions.length - 1]; } return versionedSelector[versionToUse]; } function assertIsSemverValid(versionedSelector, selectorName) { if (!Object.keys(versionedSelector).every((version) => semver.valid(version))) { throw new Error(`Invalid semver version: '${selectorName}'`); } } "use strict"; const MIN_GRAFANA_VERSION = "8.5.0"; "use strict"; const versionedComponents = { RadioButton: { container: { "10.2.3": "data-testid radio-button" } }, Breadcrumbs: { breadcrumb: { "9.4.0": (title) => `data-testid ${title} breadcrumb` } }, CanvasGridAddActions: { addPanel: { "12.1.0": "data-testid CanvasGridAddActions add-panel" }, groupPanels: { "12.1.0": "data-testid CanvasGridAddActions group-panels" }, ungroup: { "12.1.0": "data-testid CanvasGridAddActions ungroup" }, ungroupRows: { "12.1.0": "data-testid CanvasGridAddActions ungroup-rows" }, addRow: { "12.1.0": "data-testid CanvasGridAddActions add-row" }, pasteRow: { "12.1.0": "data-testid CanvasGridAddActions paste-row" }, addTab: { "12.1.0": "data-testid CanvasGridAddActions add-tab" }, pasteTab: { "12.1.0": "data-testid CanvasGridAddActions paste-tab" }, pastePanel: { "12.1.0": "data-testid CanvasGridAddActions paste-panel" } }, DashboardEditPaneSplitter: { primaryBody: { "12.1.0": "data-testid DashboardEditPaneSplitter primary body" } }, EditPaneHeader: { deleteButton: { "12.1.0": "data-testid EditPaneHeader delete panel" }, copyDropdown: { "12.1.0": "data-testid EditPaneHeader copy dropdown" }, copy: { "12.1.0": "data-testid EditPaneHeader copy" }, duplicate: { "12.1.0": "data-testid EditPaneHeader duplicate" }, backButton: { "12.1.0": "data-testid EditPaneHeader back" } }, TimePicker: { openButton: { [MIN_GRAFANA_VERSION]: "data-testid TimePicker Open Button" }, overlayContent: { "10.2.3": "data-testid TimePicker Overlay Content" }, fromField: { "10.2.3": "data-testid Time Range from field", [MIN_GRAFANA_VERSION]: "Time Range from field" }, toField: { "10.2.3": "data-testid Time Range to field", [MIN_GRAFANA_VERSION]: "Time Range to field" }, applyTimeRange: { [MIN_GRAFANA_VERSION]: "data-testid TimePicker submit button" }, copyTimeRange: { "10.4.0": "data-testid TimePicker copy button" }, pasteTimeRange: { "10.4.0": "data-testid TimePicker paste button" }, calendar: { label: { "10.2.3": "data-testid Time Range calendar", [MIN_GRAFANA_VERSION]: "Time Range calendar" }, openButton: { "10.2.3": "data-testid Open time range calendar", [MIN_GRAFANA_VERSION]: "Open time range calendar" }, closeButton: { "10.2.3": "data-testid Close time range Calendar", [MIN_GRAFANA_VERSION]: "Close time range Calendar" } }, absoluteTimeRangeTitle: { [MIN_GRAFANA_VERSION]: "data-testid-absolute-time-range-narrow" } }, DataSourcePermissions: { form: { "9.5.0": () => 'form[name="addPermission"]' }, roleType: { "9.5.0": "Role to add new permission to" }, rolePicker: { "9.5.0": "Built-in role picker" }, permissionLevel: { "12.0.0": "Permission level", "9.5.0": "Permission Level" } }, DateTimePicker: { input: { "10.2.3": "data-testid date-time-input" } }, DataSource: { TestData: { QueryTab: { scenarioSelectContainer: { [MIN_GRAFANA_VERSION]: "Test Data Query scenario select container" }, scenarioSelect: { [MIN_GRAFANA_VERSION]: "Test Data Query scenario select" }, max: { [MIN_GRAFANA_VERSION]: "TestData max" }, min: { [MIN_GRAFANA_VERSION]: "TestData min" }, noise: { [MIN_GRAFANA_VERSION]: "TestData noise" }, seriesCount: { [MIN_GRAFANA_VERSION]: "TestData series count" }, spread: { [MIN_GRAFANA_VERSION]: "TestData spread" }, startValue: { [MIN_GRAFANA_VERSION]: "TestData start value" }, drop: { [MIN_GRAFANA_VERSION]: "TestData drop values" } } }, DataSourceHttpSettings: { urlInput: { "10.4.0": "data-testid Datasource HTTP settings url", [MIN_GRAFANA_VERSION]: "Datasource HTTP settings url" } }, Jaeger: { traceIDInput: { [MIN_GRAFANA_VERSION]: "Trace ID" } }, Prometheus: { configPage: { connectionSettings: { [MIN_GRAFANA_VERSION]: "Data source connection URL" // aria-label in grafana experimental }, manageAlerts: { "10.4.0": "prometheus-alerts-manager" // id for switch component }, allowAsRecordingRulesTarget: { "12.1.0": "prometheus-recording-rules-target" }, scrapeInterval: { "10.4.0": "data-testid scrape interval" }, queryTimeout: { "10.4.0": "data-testid query timeout" }, defaultEditor: { "10.4.0": "data-testid default editor" }, disableMetricLookup: { "10.4.0": "disable-metric-lookup" // id for switch component }, prometheusType: { "10.4.0": "data-testid prometheus type" }, prometheusVersion: { "10.4.0": "data-testid prometheus version" }, cacheLevel: { "10.4.0": "data-testid cache level" }, incrementalQuerying: { "10.4.0": "prometheus-incremental-querying" // id for switch component }, queryOverlapWindow: { "10.4.0": "data-testid query overlap window" }, disableRecordingRules: { "10.4.0": "disable-recording-rules" // id for switch component }, customQueryParameters: { "10.4.0": "data-testid custom query parameters" }, httpMethod: { "10.4.0": "data-testid http method" }, exemplarsAddButton: { "10.3.0": "data-testid Add exemplar config button", [MIN_GRAFANA_VERSION]: "Add exemplar config button" }, internalLinkSwitch: { "10.3.0": "data-testid Internal link switch", [MIN_GRAFANA_VERSION]: "Internal link switch" }, codeModeMetricNamesSuggestionLimit: { "11.1.0": "data-testid code mode metric names suggestion limit" }, seriesLimit: { "12.0.2": "data-testid maximum series limit" } }, queryEditor: { explain: { "10.4.0": "data-testid prometheus explain switch wrapper" }, editorToggle: { "10.4.0": "data-testid QueryEditorModeToggle" // wrapper for toggle }, options: { "10.4.0": "data-testid prometheus options" // wrapper for options group }, legend: { "10.4.0": "data-testid prometheus legend wrapper" // wrapper for multiple compomnents }, format: { "10.4.0": "data-testid prometheus format" }, step: { "10.4.0": "data-testid prometheus-step" // id for autosize component }, type: { "10.4.0": "data-testid prometheus type" //wrapper for radio button group }, exemplars: { "10.4.0": "data-testid prometheus-exemplars" // id for editor switch component }, builder: { // see QueryBuilder below for commented selectors metricSelect: { "10.4.0": "data-testid metric select" }, hints: { "10.4.0": "data-testid prometheus hints" // wrapper for hints component }, metricsExplorer: { "10.4.0": "data-testid metrics explorer" }, queryAdvisor: { "10.4.0": "data-testid query advisor" } }, code: { queryField: { "10.4.0": "data-testid prometheus query field" }, metricsCountInfo: { "11.1.0": "data-testid metrics count disclaimer" }, metricsBrowser: { openButton: { "10.4.0": "data-testid open metrics browser" }, selectMetric: { "10.4.0": "data-testid select a metric" }, seriesLimit: { "10.3.1": "data-testid series limit" }, metricList: { "10.4.0": "data-testid metric list" }, labelNamesFilter: { "10.4.0": "data-testid label names filter" }, labelValuesFilter: { "10.4.0": "data-testid label values filter" }, useQuery: { "10.4.0": "data-testid use query" }, useAsRateQuery: { "10.4.0": "data-testid use as rate query" }, validateSelector: { "10.4.0": "data-testid validate selector" }, clear: { "10.4.0": "data-testid clear" } } } }, exemplarMarker: { "10.3.0": "data-testid Exemplar marker", [MIN_GRAFANA_VERSION]: "Exemplar marker" }, variableQueryEditor: { queryType: { "10.4.0": "data-testid query type" }, labelnames: { metricRegex: { "10.4.0": "data-testid label names metric regex" } }, labelValues: { labelSelect: { "10.4.0": "data-testid label values label select" } }, metricNames: { metricRegex: { "10.4.0": "data-testid metric names metric regex" } }, varQueryResult: { "10.4.0": "data-testid variable query result" }, seriesQuery: { "10.4.0": "data-testid prometheus series query" }, classicQuery: { "10.4.0": "data-testid prometheus classic query" } }, annotations: { minStep: { "10.4.0": "data-testid prometheus-annotation-min-step" // id for autosize input }, title: { "10.4.0": "data-testid prometheus annotation title" }, tags: { "10.4.0": "data-testid prometheus annotation tags" }, text: { "10.4.0": "data-testid prometheus annotation text" }, seriesValueAsTimestamp: { "10.4.0": "data-testid prometheus annotation series value as timestamp" } } } }, Menu: { MenuComponent: { [MIN_GRAFANA_VERSION]: (title) => `${title} menu` }, MenuGroup: { [MIN_GRAFANA_VERSION]: (title) => `${title} menu group` }, MenuItem: { [MIN_GRAFANA_VERSION]: (title) => `${title} menu item` }, SubMenu: { container: { "10.3.0": "data-testid SubMenu container", [MIN_GRAFANA_VERSION]: "SubMenu container" }, icon: { "10.3.0": "data-testid SubMenu icon", [MIN_GRAFANA_VERSION]: "SubMenu icon" } } }, Panels: { Panel: { title: { [MIN_GRAFANA_VERSION]: (title) => `data-testid Panel header ${title}` }, content: { "11.1.0": "data-testid panel content" }, headerContainer: { "9.5.0": "data-testid header-container" }, headerItems: { "10.2.0": (item) => `data-testid Panel header item ${item}` }, menuItems: { "9.5.0": (item) => `data-testid Panel menu item ${item}` }, menu: { "9.5.0": (title) => `data-testid Panel menu ${title}` }, containerByTitle: { [MIN_GRAFANA_VERSION]: (title) => `${title} panel` }, headerCornerInfo: { [MIN_GRAFANA_VERSION]: (mode) => `Panel header ${mode}` }, status: { "10.2.0": (status) => `data-testid Panel status ${status}`, [MIN_GRAFANA_VERSION]: (_) => "Panel status" }, loadingBar: { "10.0.0": () => `Panel loading bar` }, HoverWidget: { container: { "10.1.0": "data-testid hover-header-container", [MIN_GRAFANA_VERSION]: "hover-header-container" }, dragIcon: { "10.0.0": "data-testid drag-icon" } }, PanelDataErrorMessage: { "10.4.0": "data-testid Panel data error message" } }, Visualization: { Graph: { container: { "9.5.0": "Graph container" }, VisualizationTab: { legendSection: { [MIN_GRAFANA_VERSION]: "Legend section" } }, Legend: { legendItemAlias: { [MIN_GRAFANA_VERSION]: (name) => `gpl alias ${name}` }, showLegendSwitch: { [MIN_GRAFANA_VERSION]: "gpl show legend" } }, xAxis: { labels: { [MIN_GRAFANA_VERSION]: () => "div.flot-x-axis > div.flot-tick-label" } } }, BarGauge: { valueV2: { [MIN_GRAFANA_VERSION]: "data-testid Bar gauge value" } }, PieChart: { svgSlice: { "10.3.0": "data testid Pie Chart Slice" } }, Text: { container: { [MIN_GRAFANA_VERSION]: () => ".markdown-html" } }, Table: { header: { [MIN_GRAFANA_VERSION]: "table header" }, footer: { [MIN_GRAFANA_VERSION]: "table-footer" }, body: { "10.2.0": "data-testid table body" } }, TableNG: { Filters: { HeaderButton: { "12.1.0": "data-testid tableng header filter" }, Container: { "12.1.0": "data-testid tablenf filter container" }, SelectAll: { "12.1.0": "data-testid tableng filter select-all" } }, Tooltip: { Wrapper: { "12.2.0": "data-testid tableng tooltip wrapper" }, Caret: { "12.2.0": "data-testid tableng tooltip caret" } }, Footer: { ReducerLabel: { "12.2.0": "data-testid tableng footer reducer-label" }, Value: { "12.2.0": "data-testid tableng footer value" } } }, Tooltip: { Wrapper: { "12.3.0": "data-testid viz-tooltip-wrapper" } } } }, VizLegend: { seriesName: { "10.3.0": (name) => `data-testid VizLegend series ${name}` } }, Drawer: { General: { title: { [MIN_GRAFANA_VERSION]: (title) => `Drawer title ${title}` }, expand: { [MIN_GRAFANA_VERSION]: "Drawer expand" }, contract: { [MIN_GRAFANA_VERSION]: "Drawer contract" }, close: { "10.3.0": "data-testid Drawer close", [MIN_GRAFANA_VERSION]: "Drawer close" }, rcContentWrapper: { "9.4.0": () => ".rc-drawer-content-wrapper" }, subtitle: { "10.4.0": "data-testid drawer subtitle" } }, DashboardSaveDrawer: { saveButton: { "11.1.0": "data-testid Save dashboard drawer button" }, saveAsButton: { "11.1.0": "data-testid Save as dashboard drawer button" }, saveAsTitleInput: { "11.1.0": "Save dashboard title field" } } }, PanelEditor: { General: { content: { "11.1.0": "data-testid Panel editor content", "8.0.0": "Panel editor content" } }, OptionsPane: { content: { "11.1.0": "data-testid Panel editor option pane content", [MIN_GRAFANA_VERSION]: "Panel editor option pane content" }, select: { [MIN_GRAFANA_VERSION]: "Panel editor option pane select" }, fieldLabel: { [MIN_GRAFANA_VERSION]: (type) => `${type} field property editor` }, fieldInput: { "11.0.0": (title) => `data-testid Panel editor option pane field input ${title}` } }, DataPane: { content: { "11.1.0": "data-testid Panel editor data pane content", [MIN_GRAFANA_VERSION]: "Panel editor data pane content" } }, applyButton: { "9.2.0": "data-testid Apply changes and go back to dashboard", "9.1.0": "Apply changes and go back to dashboard", "8.0.0": "panel editor apply" }, toggleVizPicker: { "10.0.0": "data-testid toggle-viz-picker", "8.0.0": "toggle-viz-picker" }, toggleVizOptions: { "10.1.0": "data-testid toggle-viz-options", [MIN_GRAFANA_VERSION]: "toggle-viz-options" }, toggleTableView: { "11.1.0": "data-testid toggle-table-view", [MIN_GRAFANA_VERSION]: "toggle-table-view" }, // [Geomap] Map controls showZoomField: { "10.2.0": "Map controls Show zoom control field property editor" }, showAttributionField: { "10.2.0": "Map controls Show attribution field property editor" }, showScaleField: { "10.2.0": "Map controls Show scale field property editor" }, showMeasureField: { "10.2.0": "Map controls Show measure tools field property editor" }, showDebugField: { "10.2.0": "Map controls Show debug field property editor" }, measureButton: { "12.1.0": "data-testid panel-editor-measure-button", "9.2.0": "show measure tools" }, Outline: { section: { "12.0.0": "data-testid Outline section" }, node: { "12.0.0": (type) => `data-testid outline node ${type}` }, item: { "12.0.0": (type) => `data-testid outline item ${type}` } }, ElementEditPane: { variableType: { "12.0.0": (type) => `data-testid variable type ${type}` }, addVariableButton: { "12.0.0": "data-testid add variable button" }, variableNameInput: { "12.0.0": "data-testid variable name input" }, variableLabelInput: { "12.0.0": "data-testid variable label input" }, AutoGridLayout: { minColumnWidth: { "12.1.0": "data-testid min column width selector" }, customMinColumnWidth: { "12.1.0": "data-testid custom min column width input" }, clearCustomMinColumnWidth: { "12.1.0": "data-testid clear custom min column width input" }, maxColumns: { "12.1.0": "data-testid max columns selector" }, rowHeight: { "12.1.0": "data-testid row height selector" }, customRowHeight: { "12.1.0": "data-testid custom row height input" }, clearCustomRowHeight: { "12.1.0": "data-testid clear custom row height input" }, fillScreen: { "12.1.0": "data-testid fill screen switch" } }, TabsLayout: { titleInput: { "12.2.0": "data-testid tab title input" } } } }, PanelInspector: { Data: { content: { [MIN_GRAFANA_VERSION]: "Panel inspector Data content" } }, Stats: { content: { [MIN_GRAFANA_VERSION]: "Panel inspector Stats content" } }, Json: { content: { "11.1.0": "data-testid Panel inspector Json content", [MIN_GRAFANA_VERSION]: "Panel inspector Json content" } }, Query: { content: { [MIN_GRAFANA_VERSION]: "Panel inspector Query content" }, refreshButton: { [MIN_GRAFANA_VERSION]: "Panel inspector Query refresh button" }, jsonObjectKeys: { [MIN_GRAFANA_VERSION]: () => ".json-formatter-key" } } }, Tab: { title: { "11.2.0": (title) => `data-testid Tab ${title}` }, active: { [MIN_GRAFANA_VERSION]: () => '[class*="-activeTabStyle"]' } }, RefreshPicker: { runButtonV2: { [MIN_GRAFANA_VERSION]: "data-testid RefreshPicker run button" }, intervalButtonV2: { [MIN_GRAFANA_VERSION]: "data-testid RefreshPicker interval button" } }, QueryTab: { content: { [MIN_GRAFANA_VERSION]: "Query editor tab content" }, queryInspectorButton: { [MIN_GRAFANA_VERSION]: "Query inspector button" }, queryHistoryButton: { "10.2.0": "data-testid query-history-button", [MIN_GRAFANA_VERSION]: "query-history-button" }, addQuery: { "10.2.0": "data-testid query-tab-add-query", [MIN_GRAFANA_VERSION]: "Query editor add query button" }, addQueryFromLibrary: { "11.5.0": "data-testid query-tab-add-query-from-library" }, queryGroupTopSection: { "11.2.0": "data-testid query group top section" }, addExpression: { "11.2.0": "data-testid query-tab-add-expression" } }, QueryHistory: { queryText: { "9.0.0": "Query text" } }, QueryEditorRows: { rows: { [MIN_GRAFANA_VERSION]: "Query editor row" } }, QueryEditorRow: { actionButton: { "10.4.0": (title) => `data-testid ${title}` }, title: { [MIN_GRAFANA_VERSION]: (refId) => `Query editor row title ${refId}` }, container: { [MIN_GRAFANA_VERSION]: (refId) => `Query editor row ${refId}` } }, AlertTab: { content: { "10.2.3": "data-testid Alert editor tab content", [MIN_GRAFANA_VERSION]: "Alert editor tab content" } }, AlertRules: { groupToggle: { "11.0.0": "data-testid group-collapse-toggle" }, toggle: { "11.0.0": "data-testid collapse-toggle" }, expandedContent: { "11.0.0": "data-testid expanded-content" }, previewButton: { "11.1.0": "data-testid alert-rule preview-button" }, ruleNameField: { "11.1.0": "data-testid alert-rule name-field" }, newFolderButton: { "11.1.0": "data-testid alert-rule new-folder-button" }, newFolderNameField: { "11.1.0": "data-testid alert-rule name-folder-name-field" }, newFolderNameCreateButton: { "11.1.0": "data-testid alert-rule name-folder-name-create-button" }, newEvaluationGroupButton: { "11.1.0": "data-testid alert-rule new-evaluation-group-button" }, newEvaluationGroupName: { "11.1.0": "data-testid alert-rule new-evaluation-group-name" }, newEvaluationGroupInterval: { "11.1.0": "data-testid alert-rule new-evaluation-group-interval" }, newEvaluationGroupCreate: { "11.1.0": "data-testid alert-rule new-evaluation-group-create-button" }, step: { "11.5.0": (stepNo) => `data-testid alert-rule step-${stepNo}` }, stepAdvancedModeSwitch: { "11.5.0": (stepNo) => `data-testid advanced-mode-switch step-${stepNo}` } }, Alert: { alertV2: { [MIN_GRAFANA_VERSION]: (severity) => `data-testid Alert ${severity}` } }, TransformTab: { content: { "10.1.0": "data-testid Transform editor tab content", [MIN_GRAFANA_VERSION]: "Transform editor tab content" }, newTransform: { "10.1.0": (name) => `data-testid New transform ${name}` }, transformationEditor: { "10.1.0": (name) => `data-testid Transformation editor ${name}` }, transformationEditorDebugger: { "10.1.0": (name) => `data-testid Transformation editor debugger ${name}` } }, Transforms: { card: { "10.1.0": (name) => `data-testid New transform ${name}` }, disableTransformationButton: { "10.4.0": "data-testid Disable transformation button" }, Reduce: { modeLabel: { "10.2.3": "data-testid Transform mode label", [MIN_GRAFANA_VERSION]: "Transform mode label" }, calculationsLabel: { "10.2.3": "data-testid Transform calculations label", [MIN_GRAFANA_VERSION]: "Transform calculations label" } }, SpatialOperations: { actionLabel: { "9.1.2": "root Action field property editor" }, locationLabel: { "10.2.0": "root Location Mode field property editor" }, location: { autoOption: { "9.1.2": "Auto location option" }, coords: { option: { "9.1.2": "Coords location option" }, latitudeFieldLabel: { "9.1.2": "root Latitude field field property editor" }, longitudeFieldLabel: { "9.1.2": "root Longitude field field property editor" } }, geohash: { option: { "9.1.2": "Geohash location option" }, geohashFieldLabel: { "9.1.2": "root Geohash field field property editor" } }, lookup: { option: { "9.1.2": "Lookup location option" }, lookupFieldLabel: { "9.1.2": "root Lookup field field property editor" }, gazetteerFieldLabel: { "9.1.2": "root Gazetteer field property editor" } } } }, searchInput: { "10.2.3": "data-testid search transformations", [MIN_GRAFANA_VERSION]: "search transformations" }, noTransformationsMessage: { "10.2.3": "data-testid no transformations message" }, addTransformationButton: { "10.1.0": "data-testid add transformation button", [MIN_GRAFANA_VERSION]: "add transformation button" }, removeAllTransformationsButton: { "10.4.0": "data-testid remove all transformations button" } }, NavBar: { Configuration: { button: { "9.5.0": "Configuration" } }, Toggle: { button: { "10.2.3": "data-testid Toggle menu", [MIN_GRAFANA_VERSION]: "Toggle menu" } }, Reporting: { button: { "9.5.0": "Reporting" } } }, NavMenu: { Menu: { "10.2.3": "data-testid navigation mega-menu" }, item: { "9.5.0": "data-testid Nav menu item" } }, NavToolbar: { container: { "9.4.0": "data-testid Nav toolbar" }, commandPaletteTrigger: { "11.5.0": "data-testid Command palette trigger" }, shareDashboard: { "11.1.0": "data-testid Share dashboard" }, markAsFavorite: { "11.1.0": "data-testid Mark as favorite" }, editDashboard: { editButton: { "11.1.0": "data-testid Edit dashboard button" }, saveButton: { "11.1.0": "data-testid Save dashboard button" }, exitButton: { "11.1.0": "data-testid Exit edit mode button" }, settingsButton: { "11.1.0": "data-testid Dashboard settings" }, addRowButton: { "11.1.0": "data-testid Add row button" }, addLibraryPanelButton: { "11.1.0": "data-testid Add a panel from the panel library button" }, addVisualizationButton: { "11.1.0": "data-testid Add new visualization menu item" }, pastePanelButton: { "11.1.0": "data-testid Paste panel button" }, discardChangesButton: { "11.1.0": "data-testid Discard changes button" }, discardLibraryPanelButton: { "11.1.0": "data-testid Discard library panel button" }, unlinkLibraryPanelButton: { "11.1.0": "data-testid Unlink library panel button" }, saveLibraryPanelButton: { "11.1.0": "data-testid Save library panel button" }, backToDashboardButton: { "11.1.0": "data-testid Back to dashboard button" } } }, PageToolbar: { container: { [MIN_GRAFANA_VERSION]: () => ".page-toolbar" }, item: { [MIN_GRAFANA_VERSION]: (tooltip) => `${tooltip}` }, itemButton: { "9.5.0": (title) => `data-testid ${title}` } }, QueryEditorToolbarItem: { button: { [MIN_GRAFANA_VERSION]: (title) => `QueryEditor toolbar item button ${title}` } }, BackButton: { backArrow: { "10.3.0": "data-testid Go Back", [MIN_GRAFANA_VERSION]: "Go Back" } }, OptionsGroup: { group: { "11.1.0": (title) => title ? `data-testid Options group ${title}` : "data-testid Options group", [MIN_GRAFANA_VERSION]: (title) => title ? `Options group ${title}` : "Options group" }, toggle: { "11.1.0": (title) => title ? `data-testid Options group ${title} toggle` : "data-testid Options group toggle", [MIN_GRAFANA_VERSION]: (title) => title ? `Options group ${title} toggle` : "Options group toggle" } }, PluginVisualization: { item: { [MIN_GRAFANA_VERSION]: (title) => `Plugin visualization item ${title}` }, current: { [MIN_GRAFANA_VERSION]: () => '[class*="-currentVisualizationItem"]' } }, Select: { menu: { "11.5.0": "data-testid Select menu", [MIN_GRAFANA_VERSION]: "Select options menu" }, option: { "11.1.0": "data-testid Select option", [MIN_GRAFANA_VERSION]: "Select option" }, toggleAllOptions: { "11.3.0": "data-testid toggle all options" }, input: { [MIN_GRAFANA_VERSION]: () => 'input[id*="time-options-input"]' }, singleValue: { [MIN_GRAFANA_VERSION]: () => 'div[class*="-singleValue"]' } }, FieldConfigEditor: { content: { [MIN_GRAFANA_VERSION]: "Field config editor content" } }, OverridesConfigEditor: { content: { [MIN_GRAFANA_VERSION]: "Field overrides editor content" } }, FolderPicker: { containerV2: { [MIN_GRAFANA_VERSION]: "data-testid Folder picker select container" }, input: { "10.4.0": "data-testid folder-picker-input" } }, ReadonlyFolderPicker: { container: { [MIN_GRAFANA_VERSION]: "data-testid Readonly folder picker select container" } }, DataSourcePicker: { container: { "10.0.0": "data-testid Data source picker select container", "8.0.0": "Data source picker select container" }, inputV2: { "10.1.0": "data-testid Select a data source", [MIN_GRAFANA_VERSION]: "Select a data source" }, dataSourceList: { "10.4.0": "data-testid Data source list dropdown" }, advancedModal: { dataSourceList: { "10.4.0": "data-testid Data source list" }, builtInDataSourceList: { "10.4.0": "data-testid Built in data source list" } } }, TimeZonePicker: { containerV2: { [MIN_GRAFANA_VERSION]: "data-testid Time zone picker select container" }, changeTimeSettingsButton: { "11.0.0": "data-testid Time zone picker Change time settings button" } }, WeekStartPicker: { containerV2: { [MIN_GRAFANA_VERSION]: "data-testid Choose starting day of the week" }, placeholder: { [MIN_GRAFANA_VERSION]: "Choose starting day of the week" } }, TraceViewer: { spanBar: { "9.0.0": "data-testid SpanBar--wrapper" } }, QueryField: { container: { "10.3.0": "data-testid Query field", [MIN_GRAFANA_VERSION]: "Query field" } }, QueryBuilder: { queryPatterns: { "10.3.0": "data-testid Query patterns", [MIN_GRAFANA_VERSION]: "Query patterns" }, labelSelect: { "10.3.0": "data-testid Select label", [MIN_GRAFANA_VERSION]: "Select label" }, inputSelect: { "11.1.0": "data-testid Select label-input" }, valueSelect: { "10.3.0": "data-testid Select value", [MIN_GRAFANA_VERSION]: "Select value" }, matchOperatorSelect: { "10.3.0": "data-testid Select match operator", [MIN_GRAFANA_VERSION]: "Select match operator" } }, ValuePicker: { button: { "10.3.0": (name) => `data-testid Value picker button ${name}` }, select: { "10.3.0": (name) => `data-testid Value picker select ${name}` } }, Search: { sectionV2: { [MIN_GRAFANA_VERSION]: "data-testid Search section" }, itemsV2: { [MIN_GRAFANA_VERSION]: "data-testid Search items" }, cards: { [MIN_GRAFANA_VERSION]: "data-testid Search cards" }, collapseFolder: { [MIN_GRAFANA_VERSION]: (sectionId) => `data-testid Collapse folder ${sectionId}` }, expandFolder: { [MIN_GRAFANA_VERSION]: (sectionId) => `data-testid Expand folder ${sectionId}` }, dashboardItem: { [MIN_GRAFANA_VERSION]: (item) => `data-testid Dashboard search item ${item}` }, dashboardCard: { [MIN_GRAFANA_VERSION]: (item) => `data-testid Search card ${item}` }, folderHeader: { "9.3.0": (folderName) => `data-testid Folder header ${folderName}` }, folderContent: { "9.3.0": (folderName) => `data-testid Folder content ${folderName}` }, dashboardItems: { [MIN_GRAFANA_VERSION]: "data-testid Dashboard search item" } }, DashboardLinks: { container: { [MIN_GRAFANA_VERSION]: "data-testid Dashboard link container" }, dropDown: { [MIN_GRAFANA_VERSION]: "data-testid Dashboard link dropdown" }, link: { [MIN_GRAFANA_VERSION]: "data-testid Dashboard link" } }, LoadingIndicator: { icon: { "10.4.0": "data-testid Loading indicator", [MIN_GRAFANA_VERSION]: "Loading indicator" } }, CallToActionCard: { buttonV2: { [MIN_GRAFANA_VERSION]: (name) => `data-testid Call to action button ${name}` } }, DataLinksContextMenu: { singleLink: { "10.3.0": "data-testid Data link", [MIN_GRAFANA_VERSION]: "Data link" } }, DataLinksActionsTooltip: { tooltipWrapper: { "12.1.0": "data-testid Data links actions tooltip wrapper" } }, CodeEditor: { container: { "10.2.3": "data-testid Code editor container", [MIN_GRAFANA_VERSION]: "Code editor container" } }, ReactMonacoEditor: { editorLazy: { "11.1.0": "data-testid ReactMonacoEditor editorLazy" } }, DashboardImportPage: { textarea: { [MIN_GRAFANA_VERSION]: "data-testid-import-dashboard-textarea" }, submit: { [MIN_GRAFANA_VERSION]: "data-testid-load-dashboard" } }, ImportDashboardForm: { name: { [MIN_GRAFANA_VERSION]: "data-testid-import-dashboard-title" }, submit: { [MIN_GRAFANA_VERSION]: "data-testid-import-dashboard-submit" } }, PanelAlertTabContent: { content: { "10.2.3": "data-testid Unified alert editor tab content", [MIN_GRAFANA_VERSION]: "Unified alert editor tab content" } }, VisualizationPreview: { card: { [MIN_GRAFANA_VERSION]: (name) => `data-testid suggestion-${name}` } }, ColorSwatch: { name: { [MIN_GRAFANA_VERSION]: "data-testid-colorswatch" } }, DashboardRow: { title: { [MIN_GRAFANA_VERSION]: (title) => `data-testid dashboard-row-title-${title}` }, wrapper: { "12.1.0": (title) => `data-testid dashboard-row-wrapper-for-${title}` } }, UserProfile: { profileSaveButton: { [MIN_GRAFANA_VERSION]: "data-testid-user-profile-save" }, preferencesSaveButton: { [MIN_GRAFANA_VERSION]: "data-testid-shared-prefs-save" }, orgsTable: { [MIN_GRAFANA_VERSION]: "data-testid-user-orgs-table" }, sessionsTable: { [MIN_GRAFANA_VERSION]: "data-testid-user-sessions-table" }, extensionPointTabs: { "10.2.3": "data-testid-extension-point-tabs" }, extensionPointTab: { "10.2.3": (tabId) => `data-testid-extension-point-tab-${tabId}` } }, FileUpload: { inputField: { "9.0.0": "data-testid-file-upload-input-field" }, fileNameSpan: { "9.0.0": "data-testid-file-upload-file-name" } }, DebugOverlay: { wrapper: { "9.2.0": "debug-overlay" } }, OrgRolePicker: { input: { "9.5.0": "Role" } }, AnalyticsToolbarButton: { button: { "9.5.0": "Dashboard insights" } }, Variables: { variableOption: { "9.5.0": "data-testid variable-option" }, variableLinkWrapper: { "11.1.1": "data-testid variable-link-wrapper" } }, Annotations: { annotationsTypeInput: { "11.1.0": "data-testid annotations-type-input", [MIN_GRAFANA_VERSION]: "annotations-type-input" }, annotationsChoosePanelInput: { "11.1.0": "data-testid choose-panels-input", [MIN_GRAFANA_VERSION]: "choose-panels-input" }, editor: { testButton: { "11.0.0": "data-testid annotations-test-button" }, resultContainer: { "11.0.0": "data-testid annotations-query-result-container" } } }, Tooltip: { container: { "10.2.0": "data-testid tooltip" } }, ReturnToPrevious: { buttonGroup: { "11.0.0": "data-testid dismissable button group" }, backButton: { "11.0.0": "data-testid back" }, dismissButton: { "11.0.0": "data-testid dismiss" } }, SQLQueryEditor: { selectColumn: { "11.0.0": "data-testid select-column" }, selectColumnInput: { "11.0.0": "data-testid select-column-input" }, selectFunctionParameter: { "11.0.0": (name) => `data-testid select-function-parameter-${name}` }, selectAggregation: { "11.0.0": "data-testid select-aggregation" }, selectAggregationInput: { "11.0.0": "data-testid select-aggregation-input" }, selectAlias: { "11.0.0": "data-testid select-alias" }, selectAliasInput: { "11.0.0": "data-testid select-alias-input" }, selectInputParameter: { "11.0.0": "data-testid select-input-parameter" }, filterConjunction: { "11.0.0": "data-testid filter-conjunction" }, filterField: { "11.0.0": "data-testid filter-field" }, filterOperator: { "11.0.0": "data-testid filter-operator" }, headerTableSelector: { "11.0.0": "data-testid header-table-selector" }, headerFilterSwitch: { "11.0.0": "data-testid header-filter-switch" }, headerGroupSwitch: { "11.0.0": "data-testid header-group-switch" }, headerOrderSwitch: { "11.0.0": "data-testid header-order-switch" }, headerPreviewSwitch: { "11.0.0": "data-testid header-preview-switch" } }, EntityNotFound: { container: { "11.2.0": "data-testid entity-not-found" } }, Portal: { container: { "11.5.0": "data-testid portal-container" } }, ExportImage: { formatOptions: { container: { ["12.1.0"]: "data-testid export-image-format-options" }, png: { ["12.1.0"]: "data-testid export-image-format-png" }, jpg: { ["12.1.0"]: "data-testid export-image-format-jpg" } }, rendererAlert: { container: { ["12.1.0"]: "data-testid export-image-renderer-alert" }, title: { ["12.1.0"]: "data-testid export-image-renderer-alert-title" }, description: { ["12.1.0"]: "data-testid export-image-renderer-alert-description" } }, buttons: { generate: { ["12.1.0"]: "data-testid export-image-generate-button" }, download: { ["12.1.0"]: "data-testid export-image-download-button" }, cancel: { ["12.1.0"]: "data-testid export-image-cancel-button" } }, preview: { container: { ["12.1.0"]: "data-testid export-image-preview-container" }, loading: { ["12.1.0"]: "data-testid export-image-preview-loading" }, image: { ["12.1.0"]: "data-testid export-image-preview" }, error: { container: { ["12.1.0"]: "data-testid export-image-error" }, title: { ["12.1.0"]: "data-testid export-image-error-title" }, message: { ["12.1.0"]: "data-testid export-image-error-message" } } } } }; "use strict"; const versionedPages = { Alerting: { AddAlertRule: { url: { "10.1.0": "/alerting/new/alerting", [MIN_GRAFANA_VERSION]: "/alerting/new" } }, EditAlertRule: { url: { [MIN_GRAFANA_VERSION]: (alertRuleUid) => `alerting/${alertRuleUid}/edit` } } }, Login: { url: { [MIN_GRAFANA_VERSION]: "/login" }, username: { "10.2.3": "data-testid Username input field", [MIN_GRAFANA_VERSION]: "Username input field" }, password: { "10.2.3": "data-testid Password input field", [MIN_GRAFANA_VERSION]: "Password input field" }, submit: { "10.2.3": "data-testid Login button", [MIN_GRAFANA_VERSION]: "Login button" }, skip: { "10.2.3": "data-testid Skip change password button" } }, PasswordlessLogin: { url: { [MIN_GRAFANA_VERSION]: "/login/passwordless/authenticate" }, email: { "10.2.3": "data-testid Email input field", [MIN_GRAFANA_VERSION]: "Email input field" }, submit: { "10.2.3": "data-testid PasswordlessLogin button", [MIN_GRAFANA_VERSION]: "PasswordlessLogin button" } }, Home: { url: { [MIN_GRAFANA_VERSION]: "/" } }, DataSource: { name: { "10.3.0": "data-testid Data source settings page name input field", [MIN_GRAFANA_VERSION]: "Data source settings page name input field" }, delete: { [MIN_GRAFANA_VERSION]: "Data source settings page Delete button" }, readOnly: { "10.3.0": "data-testid Data source settings page read only message", [MIN_GRAFANA_VERSION]: "Data source settings page read only message" }, saveAndTest: { "10.0.0": "data-testid Data source settings page Save and Test button", [MIN_GRAFANA_VERSION]: "Data source settings page Save and Test button" }, alert: { "10.3.0": "data-testid Data source settings page Alert", [MIN_GRAFANA_VERSION]: "Data source settings page Alert" } }, DataSources: { url: { [MIN_GRAFANA_VERSION]: "/datasources" }, dataSources: { [MIN_GRAFANA_VERSION]: (dataSourceName) => `Data source list item ${dataSourceName}` } }, EditDataSource: { url: { "9.5.0": (dataSourceUid) => `/datasources/edit/${dataSourceUid}` }, settings: { "9.5.0": "Datasource settings page basic settings" } }, AddDataSource: { url: { [MIN_GRAFANA_VERSION]: "/datasources/new" }, dataSourcePluginsV2: { "9.3.1": (pluginName) => `Add new data source ${pluginName}`, [MIN_GRAFANA_VERSION]: (pluginName) => `Data source plugin item ${pluginName}` } }, ConfirmModal: { delete: { "10.0.0": "data-testid Confirm Modal Danger Button", [MIN_GRAFANA_VERSION]: "Confirm Modal Danger Button" }, input: { "12.2.0": "data-testid Confirm Modal Input" } }, SecretsManagement: { SecretForm: { "12.2.0": "data-testid Secret Form" } }, AddDashboard: { url: { [MIN_GRAFANA_VERSION]: "/dashboard/new" }, itemButton: { "9.5.0": (title) => `data-testid ${title}` }, addNewPanel: { "11.1.0": "data-testid Add new panel", "8.0.0": "Add new panel", [MIN_GRAFANA_VERSION]: "Add new panel" }, itemButtonAddViz: { [MIN_GRAFANA_VERSION]: "Add new visualization menu item" }, addNewRow: { "11.1.0": "data-testid Add new row", [MIN_GRAFANA_VERSION]: "Add new row" }, addNewPanelLibrary: { "11.1.0": "data-testid Add new panel from panel library", [MIN_GRAFANA_VERSION]: "Add new panel from panel library" }, Settings: { Annotations: { List: { url: { [MIN_GRAFANA_VERSION]: "/dashboard/new?orgId=1&editview=annotations" } }, Edit: { url: { [MIN_GRAFANA_VERSION]: (annotationIndex) => `/dashboard/new?editview=annotations&editIndex=${annotationIndex}` } } }, Variables: { List: { url: { "11.3.0": "/dashboard/new?orgId=1&editview=variables", [MIN_GRAFANA_VERSION]: "/dashboard/new?orgId=1&editview=templating" } }, Edit: { url: { "11.3.0": (editIndex) => `/dashboard/new?orgId=1&editview=variables&editIndex=${editIndex}`, [MIN_GRAFANA_VERSION]: (editIndex) => `/dashboard/new?orgId=1&editview=templating&editIndex=${editIndex}` } } } } }, ImportDashboard: { url: { [MIN_GRAFANA_VERSION]: "/dashboard/import" } }, Dashboard: { url: { [MIN_GRAFANA_VERSION]: (uid) => `/d/${uid}` }, DashNav: { nav: { [MIN_GRAFANA_VERSION]: "Dashboard navigation" }, navV2: { [MIN_GRAFANA_VERSION]: "data-testid Dashboard navigation" }, publicDashboardTag: { "9.1.0": "data-testid public dashboard tag" }, shareButton: { "10.4.0": "data-testid share-button" }, scrollContainer: { "11.1.0": "data-testid Dashboard canvas scroll container" }, newShareButton: { container: { "11.1.0": "data-testid new share button" }, shareLink: { "11.1.0": "data-testid new share link-button" }, arrowMenu: { "11.1.0": "data-testid new share button arrow menu" }, menu: { container: { "11.1.0": "data-testid new share button menu" }, shareInternally: { "11.1.0": "data-testid new share button share internally" }, shareExternally: { "11.1.1": "data-testid new share button share externally" }, shareSnapshot: { "11.2.0": "data-testid new share button share snapshot" } } }, NewExportButton: { container: { "11.2.0": "data-testid new export button" }, arrowMenu: { "11.2.0": "data-testid new export button arrow menu" }, Menu: { container: { "11.2.0": "data-testid new export button menu" }, exportAsJson: { "11.2.0": "data-testid new export button export as json" }, exportAsImage: { "12.1.0": "data-testid new export button export as image" } } }, playlistControls: { prev: { "11.0.0": "data-testid playlist previous dashboard button" }, stop: { "11.0.0": "data-testid playlist stop dashboard button" }, next: { "11.0.0": "data-testid playlist next dashboard button" } } }, Controls: { "11.1.0": "data-testid dashboard controls" }, SubMenu: { submenu: { [MIN_GRAFANA_VERSION]: "Dashboard submenu" }, submenuItem: { [MIN_GRAFANA_VERSION]: "data-testid template variable" }, submenuItemLabels: { [MIN_GRAFANA_VERSION]: (item) => `data-testid Dashboard template variables submenu Label ${item}` }, submenuItemValueDropDownValueLinkTexts: { [MIN_GRAFANA_VERSION]: (item) => `data-testid Dashboard template variables Variable Value DropDown value link text ${item}` }, submenuItemValueDropDownDropDown: { [MIN_GRAFANA_VERSION]: "Variable options" }, submenuItemValueDropDownOptionTexts: { [MIN_GRAFANA_VERSION]: (item) => `data-testid Dashboard template variables Variable Value DropDown option text ${item}` }, Annotations: { annotationsWrapper: { "10.0.0": "data-testid annotation-wrapper" }, annotationLabel: { "10.0.0": (label) => `data-testid Dashboard annotations submenu Label ${label}` }, annotationToggle: { "10.0.0": (label) => `data-testid Dashboard annotations submenu Toggle ${label}` } } }, Settings: { Actions: { close: { "9.5.0": "data-testid dashboard-settings-close" } }, General: { deleteDashBoard: { "11.1.0": "data