小编Cyn*_*ell的帖子

Java Selenium 和 Angular 2 | Webdriver 以可视方式清除文本字段,但不清除 DOM

我使用 Selenium Webdriver 用 Ja​​va 编写了一个测试,它在视觉上清除了用 Angular 2 编写的文本字段,但 Selenium 实际上并没有清除 DOM 中的字段。

我需要从文本字段中收到一条警报,提示您无法创建空标题,并且该警报不会出现,因为 DOM 仍然显示有一个标题,即使 Selenium 应该清除了该字段:

ng-reflect-length="10"
ng-reflect-model="New Survey"
Run Code Online (Sandbox Code Playgroud)

如果确实清楚的话,DOM 不应该包含上面的角度代码。


我最初尝试使用Java Selenium的正确格式来清除:

public void clearTextField(){
 webElement.clear();
}
Run Code Online (Sandbox Code Playgroud)

这会在视觉上清除文本字段,但那些 Angular 2 属性和值不会像它们应该的那样在 DOM 中消失。这会导致文本字段中的字符计数器保持在 90 个字符,而不是应有的 100 个字符。如果是 100 个字符,我就会收到警报。


如果我执行以下操作,上述 Angular 2 属性和值将反映 sendKeys 更改:

public void sendKeysToTextField(String inputText){        
 webElement.sendKeys(inputText);
} 
Run Code Online (Sandbox Code Playgroud)

但是,清除文本字段时 DOM 仍然不会更新。


我有一个 hacky 解决方法,它强制 RobotUtility 退格,并且需要坐标来定位页面。但这仅适用于本地。

请帮忙!谢谢。

java dom selenium-webdriver angular

5
推荐指数
1
解决办法
887
查看次数

标签 统计

angular ×1

dom ×1

java ×1

selenium-webdriver ×1