假设我有正常的“添加用户”模块,我希望使用Java脚本自动化,如何避免数据重复以避免错误消息,例如“用户已存在”?
答案 0 :(得分:1)
有许多方法可以自动化。您收到 '用户已存在' ,因为您(可能)正在使用 static <运行'Add Users'
测试用例/ em> 变量。
注意:对于以下示例,我将考虑新用户的基本 注册 流程/方案:name
, email
,password
是必填字段。
注意-002:我选择的语言是JavaScript。您应该能够轻松地使用Java重现该概念。
1。)预先挂起/待发布的 唯一 标识符,用于您提交的信息(例如:{{1返回自1970年1月1日以来经过的秒数=&gt;在运行测试用例时它将始终是唯一的)
Date()
注意:通常,var timestamp = Number(new Date());
var email = 'test.e2e' + timestamp + '@<yourMainDomainHere>'
&amp; name
不需要是唯一的,因此您实际上可以使用硬连接值而不会出现任何问题。
2。)使用password
(对于JS)也可以实现同样的目的,它返回0到1之间的值(Math.random()
),18位数长。
0.8018194703223693
!!! 警告:虽然var almostUnique = Math.random();
// You can go ahead and gen only the decimals
almostUnique = almostUnique.toString().split('.')[1];
var email = 'test.e2e' + almostUnique + '@<yourMainDomainHere>'
实际上不是 唯一 ,但在200个功能测试用例的数百次回归运行中,我没有机会看到重复。
3。)(不那么优雅|难以实现的指数更难)如果您可以访问您的网络应用后端API 并通过它可以执行不同的操作在数据库中,您实际上可以自己编写一些将在 注册 测试用例之后运行的脚本,例如清理套件。
这些脚本必须从数据库中删除以前添加的用户。
希望这有帮助!
答案 1 :(得分:0)
您没有提及您编码的语言,但使用您使用的任何语言的随机函数为用户ID生成随机数和/或文本。它不会保证不会有重复,但测试的性质使您无论如何都应该能够处理这两种情况。如果不清楚或者我不能正确理解您的问题,您需要提供更多信息:您尝试过的内容,使用的语言等等。