Анд*_*рей 4 auth0 vuejs3 playwright
之前我们手动处理所有 auth0 逻辑,将用户信息保存在 cookie 中,自己处理所有刷新逻辑等。现在由于迁移到 vue 3,我们切换到 auth0-vue,但是我们有 e2e 测试,需要测试新用户flow,以前我们只需替换 cookie 就可以了 - 无需每次都创建新用户。但现在,当所有身份验证逻辑都发生在插件的底层时,就不可能以同样的方式做到这一点。但我们不想每次都注册一个新用户并造成不必要的混乱,并且绝对不想回滚到手动处理所有内容。
\n关于如何解决它有什么想法吗?
\n小智 5
尝试在所有测试运行之前在globalSetup函数中执行身份验证,在其中执行注册/登录操作并保存 cookie。与 auth0 或其他任何东西都能很好地配合 - 非常适合使用 OTP 进行测试。
全局设置.ts
import { chromium, type FullConfig } from '@playwright/test';
async function globalSetup(config: FullConfig) {
const { baseURL, storageState } = config.projects[0].use;
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto(baseURL!);
await page.getByLabel('User Name').fill('user');
await page.getByLabel('Password').fill('password');
await page.getByText('Sign in').click();
await page.context().storageState({ path: storageState as string });
await browser.close();
}
export default globalSetup;
Run Code Online (Sandbox Code Playgroud)
剧作家.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
globalSetup: require.resolve('./global-setup'),
use: {
baseURL: 'http://localhost:3000/',
storageState: 'state.json',
},
});
Run Code Online (Sandbox Code Playgroud)
作为该函数中的一个选项,您可以读取 cookie 创建日期时间,如果不需要,则不运行身份验证
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |