Selenium webdriver Selenium Webdriver-如何避免数据重复

Selenium webdriver Selenium Webdriver-如何避免数据重复,selenium-webdriver,Selenium Webdriver,假设我有一个普通的addusers模块,我想使用Java脚本自动执行该模块,那么如何避免数据重复以避免错误消息,例如用户已经存在 您没有提到您使用哪种语言编写代码,而是使用您使用的任意语言的随机函数为用户id生成随机数和/或文本。这并不保证不会出现重复,但测试的本质是您无论如何都应该能够处理这两种情况。如果这一点不清楚或者我没有正确理解您的问题,您需要提供更多的信息:您尝试了什么,使用了什么语言,等等。有很多方法可以自动完成。由于您可能正在使用静态变量运行“添加用户”测试用例,所以您收到的是“用

假设我有一个普通的addusers模块,我想使用Java脚本自动执行该模块,那么如何避免数据重复以避免错误消息,例如用户已经存在

您没有提到您使用哪种语言编写代码,而是使用您使用的任意语言的随机函数为用户id生成随机数和/或文本。这并不保证不会出现重复,但测试的本质是您无论如何都应该能够处理这两种情况。如果这一点不清楚或者我没有正确理解您的问题,您需要提供更多的信息:您尝试了什么,使用了什么语言,等等。

有很多方法可以自动完成。由于您可能正在使用静态变量运行“添加用户”测试用例,所以您收到的是“用户已存在”

注意:对于下面的例子,我将考虑一个新用户的基本注册流程/场景:名称、电子邮件、密码是必需的字段。 注-002:我选择的语言是JavaScript。您应该能够轻松地用Java重现这个概念

一,。Pre-pending/Post-pending您提交的信息的唯一标识符,例如:Date返回自1970年1月1日以来经过的秒数=>运行测试用例时,它将始终是唯一的

var timestamp = Number(new Date());
var email = 'test.e2e' + timestamp + '@<yourMainDomainHere>'
!!!警告:虽然Math.random实际上不是唯一的,但在200个功能测试用例的数百次回归运行中,我没有机会看到重复的

三,。不那么优雅|如果您可以访问web应用后端API并通过它在DB中执行不同的操作,那么您就可以编写一些脚本,在注册测试用例后运行,比如清理套件

这些脚本必须从数据库中删除以前添加的用户


希望这有帮助

使用selenium-java附带的工具。在拆卸步骤中清理数据
var almostUnique = Math.random();
// You can go ahead and gen only the decimals
almostUnique = almostUnique.toString().split('.')[1];
var email = 'test.e2e' + almostUnique + '@<yourMainDomainHere>'