Selenium Webdriver - 如何避免数据重复

时间:2017-05-19 16:08:45

标签: selenium-webdriver

假设我有正常的“添加用户”模块,我希望使用Java脚本自动化,如何避免数据重复以避免错误消息,例如“用户已存在”?

2 个答案:

答案 0 :(得分:1)

有许多方法可以自动化。您收到 '用户已存在' ,因为您(可能)正在使用 static <运行'Add Users'测试用例/ em> 变量。

注意:对于以下示例,我将考虑新用户的基本 注册 流程/方案:nameemailpassword是必填字段。 注意-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生成随机数和/或文本。它不会保证不会有重复,但测试的性质使您无论如何都应该能够处理这两种情况。如果不清楚或者我不能正确理解您的问题,您需要提供更多信息:您尝试过的内容,使用的语言等等。