我正在尝试使用 Protractor 在我的网站上模拟用户故事。
用户必须输入使用自动完成功能的输入。在现实生活中,用户必须在输入中键入一些文本,然后使用鼠标或更自然地使用向下箭头键选择正确的命题。
问题是我似乎无法用 Protractor 来模拟它。 element.sendKeys 只是不允许您这样做。我尝试了十几种不同的方式,最多只能产生不可预测的结果。
所以我想直接操作我的输入背后的 ng-model 。有没有办法从 Protractor 访问元素的范围并调用其函数/设置属性?
这是我的问题的简化版本:
View :
<div ng-controller="MyController">
<input id="my-input" ng-model="myModel"/>
</div>
控制器 :
myModule.controller('MyController', ['$scope', function($scope){
$scope.myModel = "";
//[...]
}]);
e2e量角器测试:
describe("setting myModel to a fixture value", function(){
it("should set myModel to 'a test value'", function(){
var myInput = element('my-input');
// Now what?
});
});
您可以使用.evaluate()直接设置模型值:
var elm = element(by.model("obj.field"));
elm.evaluate("obj.field = 'test';");
获取模型值:
elm.evaluate("obj.field").then(function (value) {
console.log(value);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)