验证 Selenium IDE 中的输入文本元素不为空

问题描述 投票:0回答:6

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

selenium-ide verify
6个回答
5
投票

在 Selenium IDE 中,您可以使用

verifyEval
命令和一些 JavaScript 来验证字段是否已填充。

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

在本例中,我正在测试

<input type="email" id="email" value='[email protected]">
是否不是 HTML 页面上的空字段。

运行此命令时,将评估目标中的 JavaScript 代码。这里它正在针对空字符串测试电子邮件字段的当前值。如果它们不匹配(例如该字段不为空),则返回

true
。然后将此返回值与预期的
Value
进行比较,这也是正确的,因此测试通过。


3
投票

我只是用

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

第三个参数为空


0
投票

如果您将 Selenium-RC 与任何编程语言一起使用,这应该是小菜一碟。但是,鉴于您正在使用 IDE,我建议添加 this 用户扩展。这将为您提供一些循环结构。您可以使用

storeText
,然后根据存储检索到的文本的变量的值做出决定。 Stored Vars 是另一个有用的 IDE firefox 扩展,用于分析
storeText
变量的内容。


0
投票

试试这个:

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


0
投票

这是注册表单断言的一部分。 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");
    }

0
投票

这是 12 年后的事了,但我遇到了同样的问题,但找不到答案,所以我用稍微更暴力的方式做到了,因为似乎没有一个命令可以提供优雅的解决方案。这是适用于 Selenium IDE 4.0.1-alpha.78

这是一个 4 命令解决方案,但它有效。

格式为(命令 ---> 目标 ---> 值)

 1. 执行脚本 ---> return $('selector').get(0).value != '' ---> valExists
 2. 如果 ---> !${valExists}
 3.断言--->您的错误消息将停止测试执行
 4.结束

我确信这适用于任何您需要值的东西,但您不关心该值是什么。在我的脚本中,我在执行脚本后也有一个回显来获取结果。

希望这可以帮助未来的人们。

© www.soinside.com 2019 - 2024. All rights reserved.