通过剧作家代码生成忽略 SSL 错误

问题描述 投票:0回答:3

我正在使用 jest-playwright 库(https://github.com/playwright-community/jest-playwright)来执行端到端测试。在 jest.config.js 文件中,您可以设置一个选项来忽略 SSL 错误:

contextOptions: {
   ignoreHTTPSErrors: true,
}

用 jest 运行测试时效果很好。
现在,我希望剧作家在使用命令

npx playwright codegen example.com
单击网站元素时生成代码。然而,打开网站时,Playwright 由于 SSL 错误而停止。

使用剧作家代码生成时是否可以选择忽略 SSL 错误?

ssl jestjs code-generation end-to-end playwright
3个回答
19
投票

另一个选项是配置

test
以忽略 HTTPS 错误。

import { test } from "@playwright/test";

test.use({
  ignoreHTTPSErrors: true,
});

test("test", async ({ page }) => {
  await page.goto(
    "https://example.com/"
  );
});

NB -

test.use...
是运行时包含的内容
npx playwright codegen --ignore-https-errors


更新 该设置也可以包含在您的

playwright.config.ts
文件中(请参阅文档)。

import { defineConfig } from '@playwright/test';
export default defineConfig({
  use: {
    ignoreHTTPSErrors: true,
  },
});

12
投票

永久修复

编辑

playwright.config.ts
并添加:

import { defineConfig } from '@playwright/test';
export default defineConfig({
  use: {
    ignoreHTTPSErrors: true,
  },
});

仅限运行时

您可以使用以下命令运行代码生成器:

npx playwright codegen --ignore-https-errors https://example.com

可以发现正在运行

codegen
的其他选项
npx playwright codegen --help


11
投票

您可以使用自定义设置运行codegen。只需在初始脚本中调用

page.pause()
,如果运行
node my-initial-script.js
,它将打开 codegen 控件。

带有 browser.newContext({ ignoreHTTPSErrors: true })

示例代码 看起来像这样:

// my-initial-script.js
const { chromium } = require('playwright');

(async () => {
  // Make sure to run headed.
  const browser = await chromium.launch({ headless: false });

  // Setup context however you like.
  const context = await browser.newContext({ /* pass any options */ ignoreHTTPSErrors: true });

  // Pause the page, and start recording manually.
  const page = await context.newPage();
  await page.pause();
})();

然后您可以毫无问题地访问 https://expired.badssl.com/ 并像通常使用 codegen 一样记录您的操作。

© www.soinside.com 2019 - 2024. All rights reserved.