【问题标题】:Providing unique text value in selenium webdriver在 selenium webdriver 中提供唯一的文本值
【发布时间】:2017-04-19 09:33:24
【问题描述】:

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

例子:

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

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

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

【问题讨论】:

  • 值要么是硬编码的,要么是动态的,不能两者兼而有之。你可以有一个弹出输入框。
  • 弹出输入文本框意味着在运行时提供值? (我是硒的新手)
  • 我误解了这个要求。 Albert Waninge 的回答看起来不错。

标签: javascript java selenium selenium-webdriver


【解决方案1】:

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

您可以使用以下内容:

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

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

username.startsWith("Pinklin")

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-16
        • 1970-01-01
        • 1970-01-01
        • 2019-02-06
        • 2019-12-29
        • 1970-01-01
        相关资源
        最近更新 更多