Java 爪哇硒;Angular 2 | Webdriver可直观地清除文本字段,但不会从DOM中清除
我有一个用Java编写的测试,它使用SeleniumWebDriver从视觉上清除用Angular2编写的文本字段,但Selenium实际上并没有清除DOM中的字段 我需要从文本字段中获取一个警报,该警报表示无法创建空标题,并且该警报不会出现,因为DOM仍然表示存在标题,即使Selenium假定已清除该字段:Java 爪哇硒;Angular 2 | Webdriver可直观地清除文本字段,但不会从DOM中清除,java,angular,dom,selenium-webdriver,Java,Angular,Dom,Selenium Webdriver,我有一个用Java编写的测试,它使用SeleniumWebDriver从视觉上清除用Angular2编写的文本字段,但Selenium实际上并没有清除DOM中的字段 我需要从文本字段中获取一个警报,该警报表示无法创建空标题,并且该警报不会出现,因为DOM仍然表示存在标题,即使Selenium假定已清除该字段: ng-reflect-length="10" ng-reflect-model="New Survey" 如果确实清除了,DOM不应该包含上面的代码 我最初尝试使用正确的Java Se
ng-reflect-length="10"
ng-reflect-model="New Survey"
如果确实清除了,DOM不应该包含上面的代码
我最初尝试使用正确的Java Selenium格式来清除:
public void clearTextField(){
webElement.clear();
}
这将在视觉上清除文本字段,但是那些角度2属性和值不会在DOM中消失。这会导致文本字段中的字符计数器保持在90个字符,而不是100个字符。如果它是100个字符,我会得到我的警报
如果我:
public void sendKeysToTextField(String inputText){
webElement.sendKeys(inputText);
}
但是,当清除文本字段时,DOM不会更新
我有一个黑客的解决办法,它迫使机器人实用程序退格,它需要坐标来定位页面。但这只在本地有效
请帮忙!谢谢。您是否尝试过发送一个控件-a来选择字段中的所有内容,然后发送一个退格来清除字段
sendkeys(“^a{BACKSPACE}”) 这里提供的一些信息与
clear
方法有关,您好@Naveen,谢谢您的评论。但这个问题似乎与Selenium在DOM中如何处理Angular 2有关。clear()适用于其他语言。您好,谢谢。我已经试过了,还有一个类似的机器人实用程序。基本上是string.length、循环和“types”字符,用于您想要的任何键码。它需要一个单独的Java线程来运行,这将启动Selenium浏览器,因此我必须强制它重新单击特定坐标(因此只在本地运行)。必须首先键入字符,字段才能识别退格。方法:RobotUtilities.type(“char”);对象。sendKeys(“”);对象。单击();移动鼠标(x,y);moveLeftClick();类型(“字符”);机器人(环退格)代码>