Journey did not finish executing, 0 steps ran (attempt: 1) — Private Location: AS_OB_Multistep

Hi team,

I'm encountering an issue with a synthetic monitor deployed to a private location (AS_OB_Multistep) in the govmeetings-prod space. The monitor is pushed successfully, but fails to run with the following error:

journey did not finish executing, 0 steps ran (attempt: 1)
⚠ Throttling may not be active when the tests run

Logs

Timestamp Type Message
21 Jun 2025 04:11 stderr :warning: Throttling may not be active when the tests run - see
21 Jun 2025 04:11 stderr synthetics/docs/throttling.md at main · elastic/synthetics · GitHub for more details

Environment:

  • Elastic Cloud URL: https://elastic.granicuslabs.com
  • Space: govmeetings-prod
  • Private Location: AS_OB_Multistep
  • Agent: [Docker/Kubernetes/Elastic Agent] (please specify)
  • CLI Version: @elastic/synthetics (please include version)

Config:

Journey File:

import { SyntheticsConfig } from '@elastic/synthetics';
import '../journeys/mema/mema_secured';

monitor: {
  schedule: 10,
  privateLocations: ['AS_OB_Multistep'],
  name: 'Mema_Journey_cli2',
  space: 'govmeetings-prod',
},
throttling: {
  download: 4 * 1024 * 1024,
  upload: 1 * 1024 * 1024,
  latency: 20
},


What I’ve Tried:

Verified the private location is healthy and connected
Confirmed the journey runs locally with npx @elastic/synthetics
Added throttling settings to config
Any help would be appreciated!

It seems like script format might not be as expected,
can yo please share complete journey script which you are executing?
don't forget to remove sensitive stuff.

Here is an example journey to follow

import { journey, step, monitor, expect } from '@elastic/synthetics';

journey('My Example Journey', ({ page, params }) => {
  // Only relevant for the push command to create
  // monitors in Kibana
  monitor.use({
    id: 'example-monitorl',
    schedule: 5,
  });
  step('launch application with', async () => {
    await page.goto('https://www.google.com');
  });

  step('assert title', async () => {
    const header = await page.locator('h1');
    expect(await header.textContent()).toBe('todos');
  });
});

const { journey, step, monitor, expect } = require('@elastic/synthetics');

journey('Recorded Journey', async ({ page, params, context }) => {
monitor.use({
id: 'mema_test_cli3', // Should match $KEY
schedule: 10, // Frequency in minutes (should match $FREQUENCY)
});
step('Login', async () => {
await page.goto(${params.baseUrl}/account/login?ReturnUrl=%2F, { waitUntil: 'networkidle' });
await page.getByPlaceholder('Type your username.').click();
await page.getByPlaceholder('Type your username.').fill(params.elastic_user);
await page.getByPlaceholder('Type your password.').click();
await page.getByPlaceholder('Type your password.').fill(params.elastic_pass);
});

step('Click internal:role=button[name="Sign In"i]', async () => {
await page.getByRole('button', { name: 'Sign In' }).click();
await page.waitForLoadState('networkidle', { timeout: 10000 });
await page.waitForTimeout(2000);
});

step('Home Page', async () => {
await page.getByRole('link', { name: 'Home' }).click();
await page.waitForLoadState('networkidle', { timeout: 10000 });
await page.waitForSelector('body', { state: 'visible', timeout: 10000 });
await page.waitForTimeout(2000);
expect(await page.title()).not.toBe('');
});

step('Events Page', async () => {
await page.goto(${params.baseUrl}/Events.php, { waitUntil: 'networkidle' });
await page.waitForLoadState('networkidle', { timeout: 10000 });
await page.waitForSelector('body', { state: 'visible', timeout: 10000 });
await page.waitForTimeout(2000);
expect(await page.title()).not.toBe('');
});

step('Archives Page', async () => {
await page.getByRole('link', { name: 'Archives' }).click();
await page.waitForLoadState('networkidle', { timeout: 10000 });
await page.waitForSelector('body', { state: 'visible', timeout: 10000 });
await page.waitForTimeout(2000);
expect(await page.title()).not.toBe('');
});

step('Reports Page', async () => {
await page.getByRole('link', { name: 'Reports' }).click();
await page.waitForLoadState('networkidle', { timeout: 10000 });
await page.waitForSelector('body', { state: 'visible', timeout: 10000 });
await page.waitForTimeout(2000);
expect(await page.title()).not.toBe('');
});

step('Admin Page', async () => {
await page.goto(${params.baseUrl}/Cameras.php, { waitUntil: 'networkidle' });
await page.waitForLoadState('networkidle', { timeout: 10000 });
await page.waitForSelector('body', { state: 'visible', timeout: 10000 });
await page.waitForTimeout(2000);
expect(await page.title()).not.toBe('');
});

step('Logout', async () => {
await page.getByRole('link', { name: 'elastic synthetic' }).click();
await page.getByRole('link', { name: 'Sign Out' }).click();
await page.frameLocator('iframe[name="mainContent"]').getByRole('link', { name: 'Yes' }).click();
await page.waitForLoadState('networkidle', { timeout: 10000 });
await page.waitForTimeout(2000);
});
module.exports = journey;
});

@shahzad31

I have also tried with an example journey which you have given me and i am getting same error

journey did not finish executing, 0 steps ran (attempt: 1): %!w(<nil>)