提问人:mark_Ruff 提问时间:12/6/2022 更新时间:12/6/2022 访问量:116
测试用户密码 - 静态或动态
Test users password- static or dynamic
问:
在我们的 e2e 测试期间,在我们的应用程序上创建了 100+ 个测试用户。工作流程是这样的:
1. Generating a random password with faker library
2. Storing it in a variable
3. Using the variable to create the user
4. Login as the created user and do some actions
5. Delete all the created users in the end(as part of teardown and via API)
这些用户将在清理资源(拆解)过程中被删除。从您的角度来看,从造假者那里生成密码还是为所有这些测试用户提供静态密码更好?请分享利弊。
答:
1赞
Alex Karamfilov
12/6/2022
#1
如果框架中有良好的日志记录,则使用静态或动态传递在测试失败分析方面应该没有区别。 使用动态密码有机会发现新的错误,因为您可能会遇到密码约束的问题,这些问题是意料之外的,也不应该存在。 我的建议是创建接受布尔标志 isStatic 的 passwordProvider 方法,以便您能够即时改变主意。
像这样的东西:
public String generatePassword(boolean isStatic) {
if(isStatic) { return constant}
else { password generation logic here}
}
我在不同的项目中使用了这两种方法,不能说其中一种方法总体上是优越的。
评论
1赞
AutomationAndy
12/6/2022
我倾向于对所有用户使用静态密码,但密码限制/强度正在测试中的测试除外。在运行这些特定测试时,我确保将密码记录为 test.step 的一部分,以便于调试:)
0赞
Alex Karamfilov
12/6/2022
是的,这可能是最常见的情况。我们在大多数项目中使用动态数据来减少/避免并行测试执行的重叠。特别是对于有唯一性检查的资源。
评论