我正在硬编码注册页面用户名文本框的用户名值。如何使用selenium webdriver提供唯一的用户名值?
示例:
driver.findElement(By.id("username")).sendKeys("Pinklin") ;
由于“Pinklin”是硬编码的,如果第二次运行相同的脚本,它将抛出用户名已存在错误。
如果硬编码,可以提供唯一值的方式有哪些。
答案 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()
作为用户名。