Skip to content
This repository was archived by the owner on Jan 30, 2025. It is now read-only.
This repository was archived by the owner on Jan 30, 2025. It is now read-only.

Investigate Uncaught (in promise) when evaluating JS: execution context changed #973

Closed
@ankur22

Description

@ankur22

While running the following test script against a remote chrome instance:

import { check } from 'k6';
import { browser } from 'k6/experimental/browser';

export const options = {
  scenarios: {
    ui: {
      executor: 'shared-iterations',
      vus: 5,
      iterations: 1000,
      maxDuration: '40m',
      options: {
        browser: {
          type: 'chromium',
        },
      },
    },
  },
  thresholds: {
    checks: ["rate==1.0"]
  }
}

export default async function () {
  const context = browser.newContext();
  const page = context.newPage();

  try {
    // Goto front page, find login link and click it
    await page.goto('https://test.k6.io/', { waitUntil: 'networkidle' });
    await Promise.all([
      page.waitForNavigation(),
      page.locator('a[href="/my_messages.php"]').click(),
    ]);
    // Enter login credentials and login
    page.locator('input[name="login"]').type('admin');
    page.locator('input[name="password"]').type('123');
    // We expect the form submission to trigger a navigation, so to prevent a
    // race condition, setup a waiter concurrently while waiting for the click
    // to resolve.
    await Promise.all([
      page.waitForNavigation(),
      page.locator('input[type="submit"]').click(),
    ]);
    check(page, {
      'header': page.locator('h2').textContent() == 'Welcome, admin!',
    });
  } finally {
    page.close();
  }
}

I encountered the following error:

Uncaught (in promise) GoError: evaluating JS: execution context changed; most likely because of a navigation
	at github.com/grafana/xk6-browser/api.Page.Close-fm (native)
	at file:///tmp/POjeov/script.js:48:4(89)
 executor=shared-iterations scenario=ui

This was unexpected since this script seems to have all the necessary actions in place to avoid an issue when a navigation occurs. Replicate and resolve this issue.

Test run id: 154442

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingnextMight be eligible for the next planning (not guaranteed!)remoteremote browser relatedux

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions