gpt4 book ai didi

testing - 如何在 TestCafe 中定义没有登录页面的角色?

转载 作者:行者123 更新时间:2023-11-28 19:57:35 26 4
gpt4 key购买 nike

我无法使用此代码使我的测试稳定。谁能给我一些指示

我的应用程序没有登录页面,用户可能会以不同的方式登录,决定他们是否被阻塞的是 auth cookie。

所以我决定通过对身份验证 API 的直接 API 调用来定义一个角色,然后使用用户 token 保存一个 cookie:

export const adminUser = Role('any-page', async t => {
const loginRequest = await fetch(
`https://my-auhtentication-api/oauth/token?grant_type=password&username=${userName}&password=${password}`,
{
method: 'POST',
}
)
const loginToken = await loginRequest.json()
await ClientFunction(() => {
document.cookie = `myAuthCookie=${loginToken.access_token}; Domain=.my-app-domain.com; Path=/`
})
})

然后我在我的代码测试中使用这样的:

fixture('[Admin User] Menu navigation')
.beforeEach(async t => {
await t
.useRole(adminUser)
.navigateTo(strictPage)
})

问题是,当我只运行这个测试时,它工作正常,但是当我用我的堆栈的其余部分运行它时,它变得非常不稳定,有时可以,有时不能。

最佳答案

对于端到端测试,测试环境最好与生产环境相同。您的评论表明您使用父 Web 应用程序在生产环境中对用户进行身份验证,因此测试身份验证的最佳方法是在测试环境中使用相同的父应用程序。

关于testing - 如何在 TestCafe 中定义没有登录页面的角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58395676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com