【发布时间】:2013-12-03 17:02:17
【问题描述】:
我正在使用我创建的通用方法在我的所有页面对象中键入文本。
代码如下:
public void clearAndSetValue(WebElement field, String text) {
field.clear();
field.click();
field.sendKeys(Keys.chord(Keys.CONTROL, "a"), text);
}
现在需要确保此方法始终检查文本框是否已填充我传递给该方法的参数文本。
所以我将方法改进为:
public void clearAndSetValue(WebElement field, String text) {
if (field.getText().equals("")) {
field.clear();
field.click();
field.sendKeys(Keys.chord(Keys.CONTROL, "a"), text);
}
}
我的目的是确保字段值等于我想要输入的任何值,否则不要离开这个方法。
此方法不起作用,因为 field.getText() 在循环内的方法键入字符串时总是返回空。我猜是因为 getText() 只返回字段的原始状态?
此方法已被许多其他方法使用,因此我不想再向此方法传递任何参数。
有没有办法做到这一点?
谢谢。
【问题讨论】:
-
你应该检查
getText()和getAttribute("value")。
标签: java webdriver selenium-webdriver