kibana/packages/kbn-journeys
Dzmitry Lemechko 46aecbee5a
unskip many_fields_lens_editor journey (#167634)
## Summary

Adding extra wait time and check for chart rendering only after the page
is loaded (relying on Chart switch popover)
I would like to merge it before #166808 so we can check metrics
stability before actual merge.

Note: it looks like a product flakiness rather than test.

Flaky test runner stats

before:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3258
16/50 failed

after:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3261
100/100 passed
2023-09-29 17:49:10 +02:00
..
journey [kbn/journeys] fixes to run journeys against ESS cluster (#166923) 2023-09-28 12:06:00 +02:00
services unskip many_fields_lens_editor journey (#167634) 2023-09-29 17:49:10 +02:00
index.ts Enable APM for ES when running performance journeys (#155195) 2023-04-20 16:26:48 +02:00
jest.config.js [ftr] add first-class support for playwrite journeys (#140680) 2022-09-22 01:06:46 -07:00
kibana.jsonc [codeowners] add appex-qa for ftr-related packages (#155230) 2023-05-24 08:53:09 +02:00
package.json Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
README.mdx [ftr] add first-class support for playwrite journeys (#140680) 2022-09-22 01:06:46 -07:00
tsconfig.json [On-Week] Hot update of APM/EBT labels (#157093) 2023-08-31 14:36:20 +02:00

---
id: kibDevDocsOpsJourneys
slug: /kibana-dev-docs/ops/journeys
title: Journeys
description: A new style of functional test, focused on performance testing for now
tags: ['kibana', 'dev', 'contributor', 'operations', 'performance', 'functional', 'testing']
---

Journeys are a slightly newer take on Functional Tests, currently powered by [playwright](https://playwright.dev/docs).

A Journey is a single pathway through Kibana and looks something like this:

```ts
import { Journey } from '@kbn/journeys';
import { subj } from '@kbn/test-subj-selector';

export const journey = new Journey({
  esArchives: [ ... ],
  kbnArchives: [ ... ],
  scalabilitySetup: { ... },
})
  .step('Go to Discover Page', async ({ page, kbnUrl }) => {
    await page.goto(kbnUrl.get(`/app/discover`));
    await page.waitForSelector(subj('discoverDocTable'));
  })

  .step('Expand the first document', async ({ page }) => {
    const expandButtons = page.locator(subj('docTableExpandToggleColumn'));
    await expandButtons.first().click();
    await page.locator('text="Expanded document"');
  });
```