我有一个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)