newContext([options])
创建并返回一个新的 BrowserContext,如果 Browser 尚未初始化,则创建并返回一个。如果已初始化,则抛出错误。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
options | object | null | |
options.bypassCSP | boolean | false | 是否绕过页面的内容安全策略 (Content-Security-Policy)。 |
options.colorScheme | string | 'light' | 是否通过模拟“prefers-colors-scheme”媒体特性以深色或浅色模式显示页面。它可以是 'light' 、'dark' 、'no-preference' 之一。 |
options.deviceScaleFactor | number | 1 | 设置物理像素到 CSS 像素的分辨率比率,即如果设置为高于 1 ,则在高像素密度屏幕上图像会更清晰。请参阅下面的示例。 |
options.extraHTTPHeaders | object | null | 包含随每个请求发送的附加 HTTP 头部,其中键是 HTTP 头部名称,值是 HTTP 头部值。 |
options.geolocation | object | null | 设置用户的地理位置。 |
options.geolocation.latitude | number | 0 | 纬度应在 -90 到 90 之间。 |
options.geolocation.longitude | number | 0 | 经度应在 -180 到 180 之间。 |
options.geolocation.accuracy | number | 0 | 精度应为非负数。默认为 0 。 |
options.hasTouch | boolean | false | 是否模拟具有触摸事件的设备。 |
options.httpCredentials | object | null | 使用基本认证设置 HTTP 认证的凭据。 |
options.httpCredentials.username | string | '' | 用于传递给 Web 浏览器的基本 HTTP 认证用户名。 |
options.httpCredentials.password | string | '' | 用于传递给 Web 浏览器的基本 HTTP 认证密码。 |
options.ignoreHTTPSErrors | boolean | false | 是否忽略可能由无效证书引起的 HTTPS 错误。 |
options.isMobile | boolean | false | 是否模拟移动设备。 |
options.javaScriptEnabled | boolean | true | 是否激活上下文的 JavaScript 支持。 |
options.locale | string | system | 指定用户的区域设置,例如 'en-US' 、'tr-TR' 等。 |
options.offline | boolean | false | 是否模拟离线网络。 |
options.permissions | Array | null | 授予上下文页面权限。请参阅 browserContext.grantPermissions() 查看选项。 |
options.reducedMotion | string | 'no-preference' | 通过模拟“prefers-reduced-motion”媒体特性最小化运动量。它可以是 'reduce' 和 'no-preference' 之一。请参阅 page.emulateMedia() 查看选项。 |
options.screen | object | {'width': 1280, 'height': 720} | 为上下文中的所有页面设置窗口屏幕大小。它只能在设置了 viewport 时使用。 |
options.screen.width | number | 1280 | 页面宽度,单位像素。 |
options.screen.height | number | 720 | 页面高度,单位像素。 |
options.timezoneID | string | system | 更改上下文的时区。请参阅 ICU 的 metaZones.txt 查看支持的时区 ID 列表。 |
options.userAgent | string | browser | 指定在上下文中使用何种用户代理。 |
options.viewport | object | {'width': 1280, 'height': 720} | 为上下文中的所有页面设置 viewport 大小。设置为 null 将禁用默认 viewport。 |
options.viewport.width | number | 1280 | 页面宽度,单位像素。 |
options.viewport.height | number | 720 | 页面高度,单位像素。 |
返回值
类型 | 描述 |
---|---|
Promise<BrowserContext> | 一个 Promise,解析后会得到一个 BrowserContext 对象。 |
deviceScaleFactor 示例
import { browser } from 'k6/browser';
export const options = {
scenarios: {
browser: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium',
},
},
},
},
};
export default async function () {
const context = await browser.newContext({
viewport: {
width: 375,
height: 812,
},
deviceScaleFactor: 3,
});
const page = await context.newPage();
try {
await page.goto('https://test.k6.io/');
} finally {
await page.close();
}
}