在selenium webdriver中提供唯一的文本值

时间:2017-04-19 09:33:25

标签: javascript java selenium selenium-webdriver

我正在硬编码注册页面用户名文本框的用户名值。如何使用selenium webdriver提供唯一的用户名值?

示例:

driver.findElement(By.id("username")).sendKeys("Pinklin") ;

由于“Pinklin”是硬编码的,如果第二次运行相同的脚本,它将抛出用户名已存在错误。

如果硬编码,可以提供唯一值的方式有哪些。

3 个答案:

答案 0 :(得分:3)

答案很简单:不要(完全)硬编码这个值。

您可以使用以下内容:

String username = "Pinklin" + new Random().nextInt(1000);
driver.findElement(By.id("username")).sendKeys(username);

如果您以后需要检查用户名的持久值,您可以存储此动态生成的用户名,或者使用

进行检查
username.startsWith("Pinklin")

答案 1 :(得分:0)

您可以更好地创建一个类来生成随机名称,如here所示,并在测试中使用此类

driver.findElement(By.id("username")).sendKeys(msr.generateRandomString());//as per example mentioned in the above article

答案 2 :(得分:-1)

如果您正在测试注册,请发送System.currentTimeMillis()作为用户名。