Playwright 1.37.1在BrowserStack中acceptDownloads参数配置错误求助
解决Playwright在BrowserStack运行时的acceptDownloads参数错误
问题原因
你的Playwright 1.37.1版本在BrowserStack环境下,acceptDownloads参数仅接受字符串枚举值:"accept"、"deny"或"internal-browser-default",但当前传入的配置里使用了布尔值true,或是直接传递的testInfo.project.use中包含布尔值的acceptDownloads配置,导致参数校验失败。
解决方案
方案1:调用newPage时覆盖参数
修改src/base/fixtures.ts第62行,传递配置时显式指定合法的字符串值:
60 | page: async ({ browser }, use, testInfo) => { 61 | if (isBstack) { > 62 | const bstackPage = await browser.newPage({ | ...testInfo.project.use, | acceptDownloads: "accept" // 替换为合法的字符串枚举值,按需选"deny"/"internal-browser-default" | }); 63 | await Browserstack.setSessionName(bstackPage, testInfo); 64 | await Browserstack.annotateTest(bstackPage, testInfo); 65 | await use(bstackPage);
方案2:修改项目全局配置
在playwright.config.ts的BrowserStack项目配置中,将acceptDownloads设置为字符串值:
projects: [ { name: "browserstack", use: { // 其他配置项 acceptDownloads: "accept", // 替换true为"accept",或根据需求选择其他合法值 }, }, ];
说明
本地Playwright允许acceptDownloads使用布尔值(true等价于"accept",false等价于"deny"),但BrowserStack的远程执行环境对参数校验更严格,必须显式传递指定的字符串枚举值,否则会触发参数错误。
内容的提问来源于stack exchange,提问作者Goldi Saini
相关产品推荐
相关产品推荐

