From 31c44bdc7f4ad81b2610eaa94ead95bd5acc2875 Mon Sep 17 00:00:00 2001 From: Dawid Poliszak Date: Sat, 7 Feb 2026 05:30:31 +0100 Subject: [PATCH 1/4] update testing versions to 8.19.11,9.2.5,9.3.0 --- .github/workflows/trigger-e2e-tests.yml | 6 +-- e2e-tests/cypress/e2e/Discover.cy.ts | 37 +++++++++++++------ e2e-tests/cypress/e2e/Impersonate.cy.ts | 2 +- e2e-tests/cypress/e2e/Index-management.cy.ts | 1 + e2e-tests/cypress/e2e/Reporting.cy.ts | 4 +- .../cypress/fixtures/reportingSettings.yaml | 1 - e2e-tests/cypress/fixtures/roSettings.yaml | 2 - .../cypress/fixtures/roStrictSettings.yaml | 1 - e2e-tests/cypress/fixtures/testSettings.yaml | 2 - e2e-tests/cypress/support/commands.ts | 10 ++++- e2e-tests/cypress/support/e2e.ts | 16 ++------ .../cypress/support/page-objects/Discover.ts | 26 +++++++++++++ .../support/page-objects/IndexManagement.ts | 2 +- .../support/page-objects/KibanaToast.ts | 6 +++ .../cypress/support/page-objects/Reporting.ts | 4 ++ .../RoAndRoStrictKibanaAccessAssertions.ts | 5 ++- .../support/page-objects/SearchSessions.ts | 14 +++++++ e2e-tests/package.json | 5 ++- e2e-tests/yarn.lock | 23 ++++++++++++ 19 files changed, 124 insertions(+), 43 deletions(-) create mode 100644 e2e-tests/cypress/support/page-objects/KibanaToast.ts create mode 100644 e2e-tests/cypress/support/page-objects/SearchSessions.ts diff --git a/.github/workflows/trigger-e2e-tests.yml b/.github/workflows/trigger-e2e-tests.yml index 3f36222c..73934390 100644 --- a/.github/workflows/trigger-e2e-tests.yml +++ b/.github/workflows/trigger-e2e-tests.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ "9.2.4", "9.1.10", "8.19.10", "7.17.29" ] + version: ["9.3.0", "9.2.5", "8.19.11", "7.17.29"] env: [docker, eck-2.16.1, eck-3.1.0] steps: - name: Checkout code @@ -68,7 +68,7 @@ jobs: strategy: fail-fast: false matrix: - version: ["9.2.0", "9.1.0", "9.0.0", "8.19.0", "8.18.0", "8.17.0", "8.16.0", "8.15.0", "8.14.0", "8.13.0", "8.12.0", "8.11.0", "8.10.1", "8.9.0", "8.8.0", "8.7.0", "8.6.0", "8.5.0", "8.4.0", "8.3.0", "8.2.0", "8.1.0", "8.0.0", "7.17.0", "7.16.0", "7.15.0", "7.14.0", "7.13.0", "7.12.0", "7.11.2", "7.10.0", "7.9.0"] + version: ["9.3.0", "9.2.0", "9.1.0", "9.0.0", "8.19.0", "8.18.0", "8.17.0", "8.16.0", "8.15.0", "8.14.0", "8.13.0", "8.12.0", "8.11.0", "8.10.1", "8.9.0", "8.8.0", "8.7.0", "8.6.0", "8.5.0", "8.4.0", "8.3.0", "8.2.0", "8.1.0", "8.0.0", "7.17.0", "7.16.0", "7.15.0", "7.14.0", "7.13.0", "7.12.0", "7.11.2", "7.10.0", "7.9.0"] env: [docker, eck-3.1.0] steps: - name: Checkout code @@ -101,7 +101,7 @@ jobs: strategy: fail-fast: false matrix: - version: ["9.2.4", "9.1.10", "8.19.10", "7.17.29"] + version: ["9.3.0", "9.2.5", "8.19.11", "7.17.29"] env: [docker, eck-2.16.1, eck-3.1.0] env: ROR_ES_VERSION: "latest" diff --git a/e2e-tests/cypress/e2e/Discover.cy.ts b/e2e-tests/cypress/e2e/Discover.cy.ts index db01f10d..cdbc9008 100644 --- a/e2e-tests/cypress/e2e/Discover.cy.ts +++ b/e2e-tests/cypress/e2e/Discover.cy.ts @@ -1,30 +1,28 @@ +import semver from 'semver'; import { Login } from '../support/page-objects/Login'; -import { Loader } from '../support/page-objects/Loader'; import { kbnApiClient } from '../support/helpers/KbnApiClient'; import { Home } from '../support/page-objects/Home'; import { KibanaNavigation } from '../support/page-objects/KibanaNavigation'; import { Discover } from '../support/page-objects/Discover'; -import semver from 'semver/preload'; import { getKibanaVersion } from '../support/helpers'; +import { esApiAdvancedClient } from '../support/helpers/EsApiAdvancedClient'; +import { SearchSessions } from '../support/page-objects/SearchSessions'; -const userCredentials = 'user4:dev'; +const userCredentials = 'user2:dev'; +const tenantIndex = '.kibana_admins_group'; +const indexWithSearchSessions = semver.lt(getKibanaVersion(), '8.0.0') + ? `${tenantIndex}_${getKibanaVersion()}_001` + : `${tenantIndex}_analytics_${getKibanaVersion()}_001`; describe('Discover tests', () => { afterEach(() => { kbnApiClient.deleteSampleData('ecommerce', userCredentials); + esApiAdvancedClient.deleteIndex(indexWithSearchSessions); }); it('should allow to see discover page when user has access only for specific indices', () => { - cy.visit(Cypress.config().baseUrl); - cy.on('url:changed', () => { - sessionStorage.setItem('ror:ignoreTrialInfo', 'true'); - localStorage.setItem('home:welcome:show', 'false'); - }); - const [username, password] = userCredentials.split(':'); - - Login.fillLoginPageWith(username, password); - Loader.loading(); + Login.initialization({ username, password }); Home.loadSampleData(); KibanaNavigation.openPage('Discover'); if (semver.lt(getKibanaVersion(), '9.0.0')) { @@ -33,4 +31,19 @@ describe('Discover tests', () => { Discover.verifyDocumentWithTodayRange(0, 'kibana_sample_data_ecommerce'); Discover.toastErrorNotVisible('Error fetching fields for data view'); }); + + // Search sessions feature is removed for version 9.0.0 and above + if (semver.lt(getKibanaVersion(), '9.0.0')) + it('should allow to save and open discover session', () => { + Login.initialization(); + Home.loadSampleData(); + KibanaNavigation.openPage('Discover'); + Discover.openSaveSessionPanel(); + Discover.pressSaveSessionButton(); + Discover.pressManageSessionsButton(); + + SearchSessions.numberOfVisibleSearchSessions(1); + SearchSessions.openSelectedSearchSession(0); + Discover.verifyDiscoverFromSearchSessionCorrectlyRestored(); + }); }); diff --git a/e2e-tests/cypress/e2e/Impersonate.cy.ts b/e2e-tests/cypress/e2e/Impersonate.cy.ts index 47ef31fc..30c1d4d6 100644 --- a/e2e-tests/cypress/e2e/Impersonate.cy.ts +++ b/e2e-tests/cypress/e2e/Impersonate.cy.ts @@ -163,7 +163,7 @@ describe('impersonate', () => { cy.log('should return data when the user has access to the license'); rorApiInternalKbnClient.getLicense({ failOnStatusCode: false, credentials: admin }).then(result => { - expect(result).to.contains({ iss: 'https://api.beshu.tech' }); + expect(['https://api.beshu.tech', 'https://portal.readonlyrest.com']).to.include(result.iss); }); }); }); diff --git a/e2e-tests/cypress/e2e/Index-management.cy.ts b/e2e-tests/cypress/e2e/Index-management.cy.ts index 8855f3cd..6d3864f7 100644 --- a/e2e-tests/cypress/e2e/Index-management.cy.ts +++ b/e2e-tests/cypress/e2e/Index-management.cy.ts @@ -67,6 +67,7 @@ describe('Index management', () => { IndexManagement.searchIndices(testIndexName); IndexManagement.openIndex(testIndexName); IndexManagement.selectDeleteActionFromContextMenu(); + IndexManagement.clickConfirmDeleteIndexButton(); IndexManagement.verifyIndexExists(testIndexName); }); diff --git a/e2e-tests/cypress/e2e/Reporting.cy.ts b/e2e-tests/cypress/e2e/Reporting.cy.ts index 66197842..962a44b3 100644 --- a/e2e-tests/cypress/e2e/Reporting.cy.ts +++ b/e2e-tests/cypress/e2e/Reporting.cy.ts @@ -36,7 +36,7 @@ if (semver.gte(getKibanaVersion(), '8.15.0')) { kbnApiAdvancedClient.deleteSavedObjects(`${username}:${password}`); esApiAdvancedClient.pruneAllReportingIndices(); esApiClient.deleteIndex(oldFormatReportingIndex); - kbnApiClient.deleteSampleData('ecommerce', `${username}:${password}`); + kbnApiClient.deleteSampleData('ecommerce', userCredentials); }); it(`should correctly display all reports from both the old reporting index and the new reporting data stream`, () => { @@ -76,7 +76,7 @@ if (semver.gte(getKibanaVersion(), '8.15.0')) { afterEach(() => { kbnApiAdvancedClient.deleteSavedObjects(`${username}:${password}`); esApiAdvancedClient.pruneAllReportingIndices(); - kbnApiClient.deleteSampleData('ecommerce', `${username}:${password}`); + kbnApiClient.deleteSampleData('ecommerce', userCredentials); }); describe(`Reporting tests for ${username}`, () => { it('should correctly display all reporting data', () => { diff --git a/e2e-tests/cypress/fixtures/reportingSettings.yaml b/e2e-tests/cypress/fixtures/reportingSettings.yaml index b427cad9..a37c2ed9 100644 --- a/e2e-tests/cypress/fixtures/reportingSettings.yaml +++ b/e2e-tests/cypress/fixtures/reportingSettings.yaml @@ -15,7 +15,6 @@ helpers: readonlyrest: response_if_req_forbidden: Forbidden by ReadonlyREST ES plugin - prompt_for_basic_auth: false audit: enabled: true outputs: diff --git a/e2e-tests/cypress/fixtures/roSettings.yaml b/e2e-tests/cypress/fixtures/roSettings.yaml index 91a88613..760d6f3d 100644 --- a/e2e-tests/cypress/fixtures/roSettings.yaml +++ b/e2e-tests/cypress/fixtures/roSettings.yaml @@ -15,8 +15,6 @@ helpers: readonlyrest: response_if_req_forbidden: Forbidden by ReadonlyREST ES plugin - prompt_for_basic_auth: false - audit: enabled: true outputs: diff --git a/e2e-tests/cypress/fixtures/roStrictSettings.yaml b/e2e-tests/cypress/fixtures/roStrictSettings.yaml index deab2d2e..03ca7c18 100644 --- a/e2e-tests/cypress/fixtures/roStrictSettings.yaml +++ b/e2e-tests/cypress/fixtures/roStrictSettings.yaml @@ -15,7 +15,6 @@ helpers: readonlyrest: response_if_req_forbidden: Forbidden by ReadonlyREST ES plugin - prompt_for_basic_auth: false audit: enabled: true outputs: diff --git a/e2e-tests/cypress/fixtures/testSettings.yaml b/e2e-tests/cypress/fixtures/testSettings.yaml index c3b3cc59..c2f7292e 100644 --- a/e2e-tests/cypress/fixtures/testSettings.yaml +++ b/e2e-tests/cypress/fixtures/testSettings.yaml @@ -1,6 +1,4 @@ readonlyrest: - prompt_for_basic_auth: false - audit: enabled: true outputs: diff --git a/e2e-tests/cypress/support/commands.ts b/e2e-tests/cypress/support/commands.ts index 966c751c..89a1d215 100644 --- a/e2e-tests/cypress/support/commands.ts +++ b/e2e-tests/cypress/support/commands.ts @@ -1,4 +1,5 @@ import '@testing-library/cypress/add-commands'; +import 'cypress-network-idle'; Cypress.Commands.add( 'kbnPost', @@ -173,10 +174,15 @@ Cypress.Commands.add('shouldHaveStyle', { prevSubject: true }, (subject, propert }); }); -Cypress.Commands.add('getByDataTestSubj', (value, options?) => { +Cypress.Commands.add('getByDataTestSubj', (value: string, options?: any) => { return cy.get(`[data-test-subj="${value}"]`, options); }); +Cypress.Commands.add('findByDataTestSubj', { prevSubject: 'element' }, (subject, value: string) => { + const el = subject.find(`[data-test-subj="${value}"]`); + return cy.wrap(el); +}); + Cypress.on('uncaught:exception', (err, runnable) => { /** * Don't fail test when these specific errors from kibana platform @@ -190,7 +196,7 @@ Cypress.on('uncaught:exception', (err, runnable) => { err.message.includes("Cannot read properties of undefined (reading 'type')") || // kibana 7.x throws this error when run with ECK err.message.includes('Markdown content is required in [readOnly] mode') || // kibana 8.13.0 throws this error on sample data canvas open err.message.includes('e.toSorted is not a function') || // kibana 8.15.0 throws this error on report generation - err.message.includes('Not Found') // kibana 9.0.0-beta1 throws: Uncaught (in promise) http_fetch_error_HttpFetchError: Not Foun + err.message.includes('Not Found') // kibana 9.0.0-beta1 throws: Uncaught (in promise) http_fetch_error_HttpFetchError: Not Found ) { return false; } diff --git a/e2e-tests/cypress/support/e2e.ts b/e2e-tests/cypress/support/e2e.ts index 41675427..679f570e 100644 --- a/e2e-tests/cypress/support/e2e.ts +++ b/e2e-tests/cypress/support/e2e.ts @@ -112,15 +112,7 @@ declare global { payload?: Payload; failOnStatusCode?: boolean; }): Chainable; - esGet({ - endpoint, - credentials, - failOnStatusCode - }: { - endpoint: string; - credentials: string; - failOnStatusCode?: boolean; - }): Chainable; + esGet({ endpoint, credentials }: { endpoint: string; credentials: string }): Chainable; esPost({ endpoint, credentials, @@ -141,15 +133,15 @@ declare global { }): Chainable; esDelete({ endpoint, - credentials, - failOnStatusCode + credentials }: { endpoint: string; credentials: string; failOnStatusCode?: boolean; }): Chainable; shouldHaveStyle(property: string, value: string): Chainable; - getByDataTestSubj(value: string, options?: any): Chainable; + getByDataTestSubj(value: string, options?: any): Chainable>; + findByDataTestSubj(value: string, options?: any): Chainable>; } type Payload = string | object; diff --git a/e2e-tests/cypress/support/page-objects/Discover.ts b/e2e-tests/cypress/support/page-objects/Discover.ts index 3d5f4f0d..35b9b1d8 100644 --- a/e2e-tests/cypress/support/page-objects/Discover.ts +++ b/e2e-tests/cypress/support/page-objects/Discover.ts @@ -148,6 +148,32 @@ export class Discover { cy.contains(indexPatternName).should('be.visible'); } }; + + static openSaveSessionPanel = () => { + cy.log('Open Save Session Panel'); + cy.get('button[aria-label="Search session complete"]').click(); + }; + + static pressSaveSessionButton = () => { + cy.log('Press Save Session Button'); + cy.getByDataTestSubj('searchSessionIndicatorSaveBtn').click(); + cy.getByDataTestSubj('searchSessionIndicatorSaveBtn').should('not.exist'); + }; + + static pressManageSessionsButton = () => { + cy.log('Press Manage Sessions Button'); + cy.getByDataTestSubj('searchSessionIndicatorViewSearchSessionsLink').click(); + }; + + static verifyDiscoverFromSearchSessionCorrectlyRestored = () => { + cy.log('Verify Discover from search session'); + + if (semver.gte(getKibanaVersion(), '8.0.0')) { + cy.contains(/You are viewing cached data from a specific time range/i).should('be.visible'); + } else { + cy.getByDataTestSubj('searchSessionIndicator').should('be.visible'); + } + }; } const createKibanaIndexPattern = (indexPatternName: string) => { diff --git a/e2e-tests/cypress/support/page-objects/IndexManagement.ts b/e2e-tests/cypress/support/page-objects/IndexManagement.ts index 74814783..f2ecd561 100644 --- a/e2e-tests/cypress/support/page-objects/IndexManagement.ts +++ b/e2e-tests/cypress/support/page-objects/IndexManagement.ts @@ -81,7 +81,7 @@ export class IndexManagement { cy.get('[for="confirmDeleteIndicesCheckbox"]').click(); } - cy.get('[data-test-subj="confirmModalConfirmButton"]').click(); + cy.get('[data-test-subj="confirmModalConfirmButton"]').click({ force: true }); } static verifyIndexExists(indexName: string) { diff --git a/e2e-tests/cypress/support/page-objects/KibanaToast.ts b/e2e-tests/cypress/support/page-objects/KibanaToast.ts new file mode 100644 index 00000000..6637a276 --- /dev/null +++ b/e2e-tests/cypress/support/page-objects/KibanaToast.ts @@ -0,0 +1,6 @@ +export class KibanaToast { + public static closeToastMessage() { + cy.log('Close toast message'); + cy.getByDataTestSubj('toastCloseButton').click(); + } +} diff --git a/e2e-tests/cypress/support/page-objects/Reporting.ts b/e2e-tests/cypress/support/page-objects/Reporting.ts index fcd1e8a2..80adfed9 100644 --- a/e2e-tests/cypress/support/page-objects/Reporting.ts +++ b/e2e-tests/cypress/support/page-objects/Reporting.ts @@ -3,6 +3,7 @@ import { RorMenu } from './RorMenu'; import { StackManagement } from './StackManagement'; import { getKibanaVersion } from '../helpers'; import { esApiAdvancedClient } from '../helpers/EsApiAdvancedClient'; +import { KibanaToast } from './KibanaToast'; type OpenBy = 'rorMenu' | 'kibanaNavigation'; @@ -45,6 +46,9 @@ export class Reporting { .closest('[data-test-subj=reportJobRow]') .find('[type=checkbox]') .click(); + if (semver.gte(getKibanaVersion(), '9.3.0')) { + KibanaToast.closeToastMessage(); + } cy.get('[data-test-subj=deleteReportButton]').click(); cy.get('[data-test-subj=confirmModalConfirmButton]').click(); } diff --git a/e2e-tests/cypress/support/page-objects/RoAndRoStrictKibanaAccessAssertions.ts b/e2e-tests/cypress/support/page-objects/RoAndRoStrictKibanaAccessAssertions.ts index ab7efa6e..ac2fabaa 100644 --- a/e2e-tests/cypress/support/page-objects/RoAndRoStrictKibanaAccessAssertions.ts +++ b/e2e-tests/cypress/support/page-objects/RoAndRoStrictKibanaAccessAssertions.ts @@ -20,7 +20,6 @@ export class RoAndRoStrictKibanaAccessAssertions { Home.loadSampleDataButtonHidden(); cy.log('Verify Dashboard features'); - cy.intercept('*65024-65279.pbf').as('dashboardResolve'); if (semver.gte(getKibanaVersion(), '8.0.0')) { Dashboard.openDashboards(); } else { @@ -30,7 +29,9 @@ export class RoAndRoStrictKibanaAccessAssertions { SubHeader.breadcrumbsLastItem('[eCommerce] Revenue Dashboard'); Dashboard.editButtonNotExist(); Dashboard.cloneButtonNotExist(); - cy.wait('@dashboardResolve', { timeout: 30000 }); + cy.waitForNetworkIdle('*.pbf', 3000, { + timeout: 30000 + }); cy.log('Verify Discover features'); KibanaNavigation.openPage('Discover'); diff --git a/e2e-tests/cypress/support/page-objects/SearchSessions.ts b/e2e-tests/cypress/support/page-objects/SearchSessions.ts new file mode 100644 index 00000000..ebd31255 --- /dev/null +++ b/e2e-tests/cypress/support/page-objects/SearchSessions.ts @@ -0,0 +1,14 @@ +export class SearchSessions { + static numberOfVisibleSearchSessions(numberOfVisibleSessions: number) { + cy.log('Verify list of search sessions'); + + cy.getByDataTestSubj('searchSessionsRow').should('have.length', numberOfVisibleSessions); + } + + static openSelectedSearchSession(sessionRow: number) { + cy.log('Open selected search session from the list'); + + cy.getByDataTestSubj('searchSessionsRow').eq(sessionRow).as('row'); + cy.get('@row').findByDataTestSubj('sessionManagementNameCol').click(); + } +} diff --git a/e2e-tests/package.json b/e2e-tests/package.json index e0f49885..d79f1f2d 100644 --- a/e2e-tests/package.json +++ b/e2e-tests/package.json @@ -13,8 +13,9 @@ "dependencies": { "@testing-library/cypress": "^10.0.3", "cypress": "15.6.0", - "form-data": "^4.0.0", - "js-yaml": "^4.1.0", + "cypress-network-idle": "^1.15.0", + "form-data": "^4.0.4", + "js-yaml": "^4.1.1", "node-fetch": "2.6.7", "semver": "7.5.2" }, diff --git a/e2e-tests/yarn.lock b/e2e-tests/yarn.lock index 3ac0185d..3b5411e9 100644 --- a/e2e-tests/yarn.lock +++ b/e2e-tests/yarn.lock @@ -742,6 +742,11 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" +cypress-network-idle@^1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/cypress-network-idle/-/cypress-network-idle-1.15.0.tgz#e249f08695a46f1ddce18a95d5293937f277cbb3" + integrity sha512-8zU16zhc7S3nMl1NTEEcNsZYlJy/ZzP2zPTTrngGxyXH32Ipake/xfHLZsgrzeWCieiS2AVhQsakhWqFzO3hpw== + cypress@15.6.0: version "15.6.0" resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.6.0.tgz#bde57b8ae9fbe6473a3324bb1d583437c299230d" @@ -1407,6 +1412,17 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" + integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + hasown "^2.0.2" + mime-types "^2.1.12" + form-data@~4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4" @@ -1950,6 +1966,13 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +js-yaml@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" + integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" From ab2185f2e6c16483201948cbb2bc4c3e9ae4aef2 Mon Sep 17 00:00:00 2001 From: Dawid Poliszak Date: Sat, 7 Feb 2026 07:41:07 +0100 Subject: [PATCH 2/4] fix tests --- e2e-tests/cypress/e2e/Discover.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e-tests/cypress/e2e/Discover.cy.ts b/e2e-tests/cypress/e2e/Discover.cy.ts index cdbc9008..7ac72f72 100644 --- a/e2e-tests/cypress/e2e/Discover.cy.ts +++ b/e2e-tests/cypress/e2e/Discover.cy.ts @@ -8,7 +8,7 @@ import { getKibanaVersion } from '../support/helpers'; import { esApiAdvancedClient } from '../support/helpers/EsApiAdvancedClient'; import { SearchSessions } from '../support/page-objects/SearchSessions'; -const userCredentials = 'user2:dev'; +const userCredentials = 'user4:dev'; const tenantIndex = '.kibana_admins_group'; const indexWithSearchSessions = semver.lt(getKibanaVersion(), '8.0.0') ? `${tenantIndex}_${getKibanaVersion()}_001` From a46cf1ab63f7741ed57158136221a40059ec438b Mon Sep 17 00:00:00 2001 From: Dawid Poliszak Date: Sun, 8 Feb 2026 06:35:52 +0100 Subject: [PATCH 3/4] fix observability --- e2e-tests/cypress/e2e/Observability.cy.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/e2e-tests/cypress/e2e/Observability.cy.ts b/e2e-tests/cypress/e2e/Observability.cy.ts index 35ec1551..8e46f4d0 100644 --- a/e2e-tests/cypress/e2e/Observability.cy.ts +++ b/e2e-tests/cypress/e2e/Observability.cy.ts @@ -23,7 +23,7 @@ describe('Observability', () => { } Observability.openApmInstance('app1'); Observability.waitForApmData(); - Observability.getApmCustomTransaction('MyCustomTransaction').should('be.visible'); - Observability.getApmError('Something went wrong!').should('be.visible'); + Observability.getApmCustomTransaction('MyCustomTransaction').should('exist').scrollIntoView().should('exist'); + Observability.getApmError('Something went wrong!').should('exist').scrollIntoView().should('exist'); }); }); From 731d2481c24777f0e61739721ff9ad1aa3471243 Mon Sep 17 00:00:00 2001 From: Dawid Poliszak Date: Sun, 8 Feb 2026 08:04:13 +0100 Subject: [PATCH 4/4] fix impersonate tests --- e2e-tests/cypress/support/page-objects/Impersonate.ts | 9 ++++++++- .../cypress/support/page-objects/SecuritySettings.ts | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/e2e-tests/cypress/support/page-objects/Impersonate.ts b/e2e-tests/cypress/support/page-objects/Impersonate.ts index 1543a036..3a2c3e7e 100644 --- a/e2e-tests/cypress/support/page-objects/Impersonate.ts +++ b/e2e-tests/cypress/support/page-objects/Impersonate.ts @@ -2,6 +2,8 @@ import { RorMenu } from './RorMenu'; import { SecuritySettings } from './SecuritySettings'; import { Loader } from './Loader'; import { rorApiClient } from '../helpers/RorApiClient'; +import semver from 'semver'; +import { getKibanaVersion } from '../helpers'; export class Impersonate { static open() { @@ -182,7 +184,12 @@ export class Impersonate { cy.log('finish impersonation'); RorMenu.openRorMenu(); cy.contains('Finish impersonation').click(); - Loader.loading(); + if (semver.gte(getKibanaVersion(), '9.3.0')) { + + } else { + Loader.loading(); + + } } static setTestSettingsData(): Cypress.Chainable { diff --git a/e2e-tests/cypress/support/page-objects/SecuritySettings.ts b/e2e-tests/cypress/support/page-objects/SecuritySettings.ts index 3743440e..10663989 100644 --- a/e2e-tests/cypress/support/page-objects/SecuritySettings.ts +++ b/e2e-tests/cypress/support/page-objects/SecuritySettings.ts @@ -52,4 +52,9 @@ export class SecuritySettings { static checkActiveTab(tab: string) { SecuritySettings.getIframeBody().findByRole('tab', { name: tab, selected: true }).should('be.visible'); } + + static closeSecuritySettings() { + cy.log('close security settings'); + SecuritySettings.getIframeBody().find('[aria-label="Close settings"]').click(); + } }