【问题标题】:Verify input text element is not empty in Selenium IDE验证 Selenium IDE 中的输入文本元素不为空
【发布时间】:2011-06-07 08:20:14
【问题描述】:

如何验证输入元素中是否包含任何文本。它加载了随机文本,因此我无法验证特定值,但其中必须有一些文本。 我正在使用 Selenium IDE

【问题讨论】:

    标签: selenium-ide verify


    【解决方案1】:

    在 Selenium IDE 中,您可以使用 verifyEval 命令和一些 JavaScript 来验证字段是否已填充。

    Command: verifyEval
    Target:  this.page().findElement("//input[@id='email']").value != ''
    Value:   true
    

    在这种情况下,我正在测试 <input type="email" id="email" value='address@domain.com"> 在我的 HTML 页面上不是一个空字段。

    运行此命令时,将评估目标中的 JavaScript 代码。在这里,它正在针对空字符串测试电子邮件字段的当前值。如果它们不匹配(例如,该字段不为空),则返回 true。然后将此返回值与预期的Value 进行比较,这也是正确的,因此测试通过了。

    【讨论】:

    • verifyEval 似乎不存在于 Selenium IDE 的 Chrome 或 Firefox 版本中。
    【解决方案2】:

    我只是用

    verifyNotValue|//input[@id='email']|
    

    第三个参数为空

    【讨论】:

    • verifyNotValue 在 Selenium IDE 的 Chrome 或 Firefox 版本中似乎不存在。
    【解决方案3】:

    如果您将 Selenium-RC 与任何编程语言一起使用,这应该很容易。但是,鉴于您使用的是 IDE,我建议您添加 this 用户扩展名。这将为您提供一些循环结构。您可以使用storeText,然后根据存储检索到的文本的变量的值做出决定。 Stored Vars 是另一个有用的 IDE firefox 扩展,用于分析 storeText 变量的内容。

    【讨论】:

      【解决方案4】:

      试试这个:

      driver.find_element_by_id("email").get_attribute("value") != ''

      【讨论】:

      • 问题是关于 IDE 版本,而不是网络驱动程序,所以这个答案不起作用。
      【解决方案5】:

      这是注册表单断言的一部分。 firstName 字段提供了数据。然后我使用下面的代码来验证该字段是否被数据填充。

      if(driver.findElement(By.cssSelector("#FirstName")).getText()==""){
              System.out.println("field didn't fillup with data");
          } 
      else {
              System.out.println("field filled up with data");
          }
      

      【讨论】:

      • 问题是关于 IDE 版本,而不是网络驱动程序,所以这个答案不起作用。
      猜你喜欢
      • 2018-06-09
      • 2018-01-17
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      • 2016-12-31
      • 1970-01-01
      相关资源
      最近更新 更多