`嗨,我正在尝试使用 Playwright 本地存储在测试中跳过登录步骤,但由于某种原因,创建的文件只包含很少的信息,我无法使用这些信息来跳过登录。 您可能知道这里的问题是什么吗?
这是我使用的代码
test('Positive Login', async ({page}) => {
const authFile = 'e2e/.auth/userAuth.json'
await loginPage.loginToApp(login_email, login_password);
await loginPage.clickLoginButton();
await page.context().storageState({ path: authFile });
})
但是 userAuth.json 文件只有这些信息
"cookies": [],
"origins": [
{
"origin": "https://staging.uxtest.oculid.com",
"localStorage": [
{
"name": "userpilotSettings",
"value": "{\"endpoint\":\"wss://analytex-eu.userpilot.io/v0/events/websocket\",\"date\":1710280985903}"
},
{
"name": "userpilotSDK",
"value": "{}"
}
]
}
]
}
我不知道为什么只存储这个,而不存储所有必要的信息
您必须将“page”作为参数传递给loginPage.loginToApp和loginPage.clickLoginButton。如果不这样做,页面状态将不会改变。
示例:
test('Positive Login', async ({page}) => {
const authFile = 'e2e/.auth/userAuth.json'
await loginPage.loginToApp(page, login_email, login_password);
await loginPage.clickLoginButton(page);
await page.context().storageState({ path: authFile });
})