Menu

This is documentation for the next version of K6. For the latest stable release, go to the latest version.

Documentationbreadcrumb arrow Grafana k6breadcrumb arrow JavaScript APIbreadcrumb arrow k6/browserbreadcrumb arrow Pagebreadcrumb arrow evaluate(pageFunction[, arg])
Open source

evaluate(pageFunction[, arg])

Returns the value of the pageFunction invocation.

ParameterTypeDefaultsDescription
pageFunctionfunction or stringFunction to be evaluated in the page context. This can also be a string.
argstring''Optional argument to pass to pageFunction

Returns

TypeDescription
Promise<any>The value of the pageFunction invocation.

Example

JavaScript
import { browser } from 'k6/browser';
import { check } from 'k6/http';

export const options = {
  scenarios: {
    browser: {
      executor: 'shared-iterations',
      options: {
        browser: {
          type: 'chromium',
        },
      },
    },
  },
};

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

  await page.goto('https://test.k6.io/browser.php');
  const dimensions = await page.evaluate(() => {
    const obj = {
      width: document.documentElement.clientWidth,
      height: document.documentElement.clientHeight,
      deviceScaleFactor: window.devicePixelRatio,
    };
    return obj;
  });

  check(dimensions, {
    width: (d) => d.width === 1280,
    height: (d) => d.height === 720,
    scale: (d) => d.deviceScaleFactor === 1,
  });
}