剧作家 - 需要设置会话存储但访问被拒绝

问题描述 投票:0回答:1

使用 playwright 和 it's test runne 来测试 Angular 应用程序,我有一个需要设置会话存储的测试场景。这不是为了身份验证,而是为了测试从会话存储中获取的一些逻辑。

我有以下内容,但访问被拒绝。如何在 Playwright 中设置会话存储以进行测试?

注意:我只在这个单个测试中需要它,而不是整个测试套件。

错误:page.evaluate:DOMException:无法从“窗口”读取“sessionStorage”属性:此文档的访问被拒绝

        const data = { ssoUser : { userId: 'abc' } };
        await page.evaluate(() => {
          window.sessionStorage.setItem('USER.SSO', JSON.stringify(data));
        });
e2e-testing playwright
1个回答
0
投票

会话存储特定于浏览器中的特定页面或选项卡。 我们可能需要为此创建一个页面会话。 那么您在尝试设置

sessionStorage
之前是否访问过某个页面?

  // Access a page first
  await page.goto(`/`);

  const data = { ssoUser : { userId: 'abc' } };
  await page.evaluate(() => {
    window.sessionStorage.setItem('USER.SSO', JSON.stringify(data));
  });
© www.soinside.com 2019 - 2024. All rights reserved.