相关疑难解决方法(0)

如何在页面中使用导入的函数.使用Jest在Puppeteer中进行评估?

我有一个TypeScript项目,它使用Jest进行单元测试,并且刚刚将Puppeteer添加到组合中,意图在客户端上运行一些测试.它工作正常,除非我尝试使用里面的导入函数page.evaluate.

例如,我有以下内容HdpiCanvas.test.ts:

import { createHdpiCanvas } from "./HdpiCanvas";

test("createHdpiCanvas", async () => {
    await page.setViewport({ width: 800, height: 600, deviceScaleFactor: 2 });
    let size = await page.evaluate(() => {
        const canvas = createHdpiCanvas(); // document.createElement('canvas');
        return [canvas.width, canvas.height];
    });
    console.log(size); // [600, 300] for HDPI canvas and [ 300, 150 ] for a regular one
});
Run Code Online (Sandbox Code Playgroud)

随着注释,document.createElement('canvas')测试运行得很好并且记录[ 300, 150 ].但是createHdpiCanvas()由于page.evaluate函数引发了以下错误:

Error: Evaluation failed: ReferenceError: HdpiCanvas_1 is not defined …
Run Code Online (Sandbox Code Playgroud)

import module typescript jestjs puppeteer

6
推荐指数
2
解决办法
805
查看次数

标签 统计

import ×1

jestjs ×1

module ×1

puppeteer ×1

typescript ×1