在Playwright测试中强制Edge显示登录提示,并使用提供的HTTP凭据进行身份验证

前端开发 2026-07-08

我正在尝试在Edge中测试我的应用,该应用受Windows身份验证保护,通过传递 httpCredentials 选项

    {
      name: 'Microsoft Edge',
      use: {
        ...devices['Desktop Edge'],
        viewport: { width: 1920, height: 1080 },
        channel: 'msedge',
        headless: true,
        httpCredentials: {
          username: process.env['USERNAME']!,
          password: process.env['PASSWORD']!
        }
      }

然而,当运行Playwright测试时,原生浏览器的登录提示并未出现(换句话说,USERNAMEPASSWORD 环境变量的值从未被使用——测试改为使用当前已登录的用户进行身份验证)。

有没有办法强制Edge始终显示登录提示,并使用提供的凭据进行身份验证?

解决方案

Edge启动标志,文档见 这里这里,它会清空允许协商身份验证的服务器列表,从而强制显示登录提示:

在Playwright Edge项目配置中:

httpCredentials: ...
launchOptions: { args: ['--auth-server-allowlist=_'] }

为使其生效,必须关闭所有Edge实例。

于是,登录提示现在会始终显示,我的测试也能够使用提供的凭据进行身份验证。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章