在Jest中,我想从setupFilesAfterEnv
启动浏览器,而不是在每个测试文件中重复这一步,使用Jest和Playwright。尽管启动了浏览器,并且全局变量可用于测试,但我得到错误:'类型错误:newContext不是一个函数“。我正在使用Babel在Jest中使用TS
我的设置
jest.配置cjs
const config = {
testTimeout: 20000,
setupFilesAfterEnv: ["<rootDir>/setup.ts"]
};
module.exports = config;
设置.ts
import {chromium} from "playwright-chromium";
global.browser = chromium.launch({headless: false});
global.my_val = "10"
测试测试ts
describe("Test", () => {
let context;
let page;
beforeEach(async () => {
console.log("Global 10")
console.log(global.my_val)
context = await global.browser.newContext();
page = await context.newPage();
})
test(...)
浏览器启动正常,我可以在进程列表中看到它(尽管headless:false,但它不在GUI模式下启动)。console.log(global.my_val)
正确打印10,因此在此上下文中可以看到setup中的全局变量。
但这个错误阻止我做任何事情:
TypeError: Cannot read properties of undefined (reading 'newContext')
28 |
29 | beforeEach(async () => {
> 30 | context = await global.browser.newContext();
| ^
31 | page = await context.newPage();
32 | })
33 |
1条答案
按热度按时间gudnpqoy1#
好的,似乎只有在JS中
testEnvironment
才可能。如果使用TS节点,则TS可能解决方案: