Angular + Selenium设置模型支持的值

时间:2013-09-03 13:40:54

标签: jquery angularjs selenium

我有一个由ng-model ='obj.values.x.value'支持的DOM输入元素 obj.values.x.value有一个值,比如“foo”。

在Selenium中运行代码时,字段显示为“foo” 我尝试通过element.clear()将字段设置为空字符串 调用element.getAttribute("value")仍然会返回“foo”;

如果我使用JQuery获取dom元素,然后调用$(element).focus(); $(element).val(''); $(element).blur(); 调用element.getAttribute("value")仍然会返回“foo”;

在不知道角度已将ng模型绑定到obj.values.x.value的情况下,无论如何从Selenium设置元素的值以便更改模型的默认值?

进一步的测试表明,只有当模型中提供了默认值并且我们尝试将值设置为空字符串时,才会出现此错误。

2 个答案:

答案 0 :(得分:0)

我认为问题在于你清除价值的方式。使用jQuery尝试以下内容:

$(element).val('');

不太熟悉Selenium,但jQuery empty removes child nodes,不是输入的内容。

答案 1 :(得分:0)

我认为这是因为每当你从外部改变Angular app中任何模型的值时,它都没有消化它。为此,我们需要使用$ scope.apply();我希望这是有道理的。