Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 验证输入文本中键入的文本-Selenium_Java_Html_Selenium_Testing - Fatal编程技术网

Java 验证输入文本中键入的文本-Selenium

Java 验证输入文本中键入的文本-Selenium,java,html,selenium,testing,Java,Html,Selenium,Testing,我有一个向文本框发送键的简单方法,但有时会丢失结尾字母或整个文本,但selenium会返回此测试步骤的“通过”。这仅在具有4个元素的特定对话框窗口中发生: 1.挑选 2.输入文本 3.保存按钮 4.取消按钮 测试用例从选择列表中选择一个值,然后在文本框中键入给定的字符串并单击保存 我能在输入文本后立即验证它是否等于预期文本吗?我尝试使用textboxelement.getText()但它返回null,可能是因为光标仍在textbox中,文本未发送。我想不按ENTER键解决它,因为它可能会关闭此对

我有一个向文本框发送键的简单方法,但有时会丢失结尾字母或整个文本,但selenium会返回此测试步骤的“通过”。这仅在具有4个元素的特定对话框窗口中发生: 1.挑选 2.输入文本 3.保存按钮 4.取消按钮

测试用例从选择列表中选择一个值,然后在文本框中键入给定的字符串并单击保存

我能在输入文本后立即验证它是否等于预期文本吗?我尝试使用textboxelement.getText()但它返回null,可能是因为光标仍在textbox中,文本未发送。我想不按ENTER键解决它,因为它可能会关闭此对话框窗口

我的发送文本方法:

public final void sendText(final String value, final String id) {
    final By locator = By.id(textOrVariableValue(id));
        final WebElement element = getElementByLocator(locator, ExpectedConditions.elementToBeClickable(locator), 10, true);
        element.clear();
        element.sendKeys(textOrVariableValue(value));
}

提前谢谢

向文本框发送键并在键入文本后立即尝试验证其是否等于预期文本时,将始终返回null,这就是预期行为

理由 调用
sendKeys()
时,它只需将字符串粘贴到文本框中即可。不执行其他操作,也不返回任何内容。因此,HTML DOM中的
没有变化

因此,当您尝试执行以下操作时:

textboxelement.getText()
返回null

当您单击“保存”按钮时,
Save
按钮的
onClick()
事件执行预期的功能(调用
/
AJAX脚本
)它会更改
HTML DOM
,并且文本会与
DOM树相适应。现在,如果您尝试:

textboxelement.getAttribute("attribute_name");
你将能够检索文本

最后,正如您所提到的,
,无需按ENTER键,因为它可能会关闭此对话框窗口
,这就是
中容纳文本的方式,用于
Selenium
和您的
自动化脚本
通过findElement()查找findElements()

在向文本框发送键并在键入文本后立即尝试验证其是否等于预期文本时,将始终返回null,这是预期行为

理由 调用
sendKeys()
时,它只需将字符串粘贴到文本框中即可。不执行其他操作,也不返回任何内容。因此,HTML DOM中的
没有变化

因此,当您尝试执行以下操作时:

textboxelement.getText()
返回null

当您单击“保存”按钮时,
Save
按钮的
onClick()
事件执行预期的功能(调用
/
AJAX脚本
)它会更改
HTML DOM
,并且文本会与
DOM树相适应。现在,如果您尝试:

textboxelement.getAttribute("attribute_name");
你将能够检索文本


最后,正如您所提到的,
,无需按ENTER键,因为它可能会关闭此对话框窗口
,这就是
中容纳文本的方式,用于
Selenium
和您的
自动化脚本
通过findElement()查找findElements()

您尝试添加文本的
文本框中是否存在任何子元素?如下图所示:如果输入验证失败,将显示警报div。您尝试添加文本的
文本框中是否存在任何子元素?如下图所示:如果输入验证失败,则显示警报div。