【发布时间】:2014-05-29 12:37:58
【问题描述】:
我正在尝试使用 Protractor 在我的网站上模拟用户故事。
用户必须输入使用自动完成的输入。在现实生活中,用户必须在输入中键入一些文本,然后使用鼠标或更自然地使用向下箭头键选择正确的命题。
问题是我似乎无法用 Protractor 模拟它。 element.sendKeys 只是不允许您这样做。我已经尝试了十几种不同的方式,但最多只能产生不可预测的结果。
所以我想直接操作我输入的 ng-model。有没有办法从量角器访问元素的范围并在其上调用函数/设置属性?
这是我的问题的简化版本:
查看:
<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?
});
});
【问题讨论】:
-
一些小提琴,或者一些代码sn-p?
-
我已经添加了一些代码sn-ps。
-
element('my-input');是您的真实密码吗?我会尝试的顺序是myInput.click()给它焦点,然后myInput.sendKeys('beginningOfAnAutoCompletedWord');然后myInput.sendKeys('Protractor.Key.ARROW_DOWN');。然后,根据您的实现,您可以单击或发送选项卡或 Enter 键。 -
这很有趣,我在文档中没有找到关于箭头键的内容,谢谢!事实上,我终于找到了一种解决方法,可以针对我自己的这个问题的特定实例单击我的下拉菜单。但是,我认为访问角度模型的问题本身就值得回答,无论如何我都不能就此结束这个问题,这会产生误导。
标签: javascript angularjs protractor